C# MVVM模式在WPF中的应用示例

avatar
作者
筋斗云
阅读量:0

MVVM(Model-View-ViewModel)是一种软件架构模式,用于将应用程序的用户界面逻辑与业务逻辑分离。在WPF应用程序中使用MVVM模式可以使代码更易于维护和测试。下面是一个简单的C# MVVM模式在WPF中的应用示例:

Model(数据模型):

public class Person {     public string Name { get; set; }     public int Age { get; set; } } 

ViewModel(视图模型):

public class MainViewModel : INotifyPropertyChanged {     private Person _person;      public Person Person     {         get { return _person; }         set         {             _person = value;             OnPropertyChanged(nameof(Person));         }     }      public MainViewModel()     {         Person = new Person { Name = "John Doe", Age = 30 };     }      public event PropertyChangedEventHandler PropertyChanged;      protected void OnPropertyChanged(string propertyName)     {         PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));     } } 

View(视图):

<Window x:Class="MVVMExample.MainWindow"         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         xmlns:local="clr-namespace:MVVMExample"         Title="MVVM Example" Height="200" Width="300">     <Window.DataContext>         <local:MainViewModel/>     </Window.DataContext>          <Grid>         <StackPanel>             <TextBlock Text="Name:"/>             <TextBox Text="{Binding Person.Name, Mode=TwoWay}"/>                          <TextBlock Text="Age:"/>             <TextBox Text="{Binding Person.Age, Mode=TwoWay}"/>         </StackPanel>     </Grid> </Window> 

在这个示例中,我们定义了一个简单的Person类作为数据模型,一个MainViewModel类作为视图模型,用于管理Person对象的数据,以及一个MainWindow作为视图,使用DataBinding将视图模型和视图进行绑定。

当运行这个示例时,窗口中会显示一个包含姓名和年龄输入框的界面,用户输入的数据会被绑定到视图模型中的Person对象上。这样就实现了视图与数据模型的分禨,使代码更易于维护和测试。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!