wpf mvvm框架搭建 工程事例
时间: 2023-07-05 15:33:15 浏览: 158
好的,下面是一个简单的 WPF MVVM 框架搭建的工程事例:
1. 创建一个 WPF 应用程序项目。
2. 在项目中添加一个名为 Models 的文件夹,并在其中添加一个名为 Student.cs 的类,该类包含学生的姓名和年龄属性:
```csharp
namespace WpfMvvmDemo.Models
{
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
}
}
```
3. 在项目中添加一个名为 ViewModels 的文件夹,并在其中添加一个名为 MainViewModel.cs 的类,该类包含一个名为 Students 的可观察集合属性,用于存储学生对象,并在构造函数中初始化该集合:
```csharp
using System.Collections.ObjectModel;
using WpfMvvmDemo.Models;
namespace WpfMvvmDemo.ViewModels
{
public class MainViewModel
{
public ObservableCollection<Student> Students { get; set; }
public MainViewModel()
{
Students = new ObservableCollection<Student>
{
new Student { Name = "张三", Age = 18 },
new Student { Name = "李四", Age = 19 },
new Student { Name = "王五", Age = 20 }
};
}
}
}
```
4. 在项目中添加一个名为 Views 的文件夹,并在其中添加一个名为 MainWindow.xaml 的窗口。
5. 在 MainWindow.xaml 中,将窗口的 DataContext 属性设置为 MainViewModel 的实例,并使用 ItemsControl 控件绑定到 MainViewModel 中的 Students 属性:
```xaml
<Window x:Class="WpfMvvmDemo.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfMvvmDemo.Views"
xmlns:viewModel="clr-namespace:WpfMvvmDemo.ViewModels"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.DataContext>
<viewModel:MainViewModel />
</Window.DataContext>
<Grid>
<ItemsControl ItemsSource="{Binding Students}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" Margin="5" />
<TextBlock Text="{Binding Age}" Margin="5" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Window>
```
6. 运行项目,可以看到窗口中显示了三个学生的姓名和年龄。
这就是一个简单的 WPF MVVM 框架搭建的工程事例。当然,这只是一个最基础的框架,实际开发中还需要考虑很多其他方面的问题。
阅读全文