wpf mvvm框架实例
时间: 2023-07-05 16:18:22 浏览: 112
WPF项目实例-MVVM_WPF项目代码_WPFmvvm_WPF_pluralhiz_mvvm
以下是一个简单的WPF MVVM框架实例:
1. 创建一个WPF应用程序项目。
2. 在项目中创建一个Models文件夹,用于存放数据模型类。例如,我们可以创建一个Person类,表示一个人的基本信息。
```
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
```
3. 在项目中创建一个ViewModels文件夹,用于存放视图模型类。例如,我们可以创建一个MainViewModel类,表示应用程序的主视图模型,它包含一个ObservableCollection<Person>属性,用于存储人员列表。
```
public class MainViewModel : INotifyPropertyChanged
{
private ObservableCollection<Person> _people;
public ObservableCollection<Person> People
{
get { return _people; }
set
{
_people = value;
OnPropertyChanged("People");
}
}
public MainViewModel()
{
People = new ObservableCollection<Person>();
People.Add(new Person { Name = "Alice", Age = 25 });
People.Add(new Person { Name = "Bob", Age = 30 });
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
```
4. 在项目中创建一个Views文件夹,用于存放视图。例如,我们可以创建一个MainWindow.xaml文件作为应用程序的主窗口,它包含一个ListBox控件,用于显示人员列表。
```
<Window x:Class="WpfMVVM.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListBox ItemsSource="{Binding People}" DisplayMemberPath="Name" />
</Grid>
</Window>
```
5. 在MainWindow.xaml.cs中,设置DataContext为MainViewModel的实例。
```
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainViewModel();
}
}
```
6. 运行应用程序,可以看到MainWindow中的ListBox显示了两个人员的姓名。
这是一个简单的WPF MVVM框架实例,它演示了如何将数据模型、视图模型和视图分离,并使用绑定机制将它们联系起来。在实际应用中,我们可以根据需要扩展和优化这个框架。
阅读全文