wpf mvvmlight 搭建mvvm框架举例
时间: 2023-08-09 07:05:49 浏览: 116
好的,下面我将举一个简单的例子来介绍如何使用WPF和MVVMLight搭建MVVM框架。
首先,我们需要安装MVVMLight NuGet包。打开Visual Studio,右键单击项目,选择“管理NuGet程序包”,搜索“MVVMLight”,点击“安装”。
接下来,我们创建一个Model类,它将包含我们需要绑定到UI的属性和方法。例如,我们创建一个名为“Person”的类,它有一个“Name”属性:
```csharp
public class Person
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
}
```
然后,我们创建一个ViewModel类,它将包含我们需要绑定到UI的命令和属性。ViewModel类需要继承MVVMLight的ViewModelBase类。例如,我们创建一个名为“MainViewModel”的类,它有一个“Person”属性和一个“UpdateCommand”命令:
```csharp
public class MainViewModel : ViewModelBase
{
private Person _person;
public Person Person
{
get { return _person; }
set { _person = value; RaisePropertyChanged(() => Person); }
}
public RelayCommand UpdateCommand { get; private set; }
public MainViewModel()
{
Person = new Person { Name = "John Doe" };
UpdateCommand = new RelayCommand(UpdatePerson);
}
private void UpdatePerson()
{
Person.Name = "Jane Doe";
}
}
```
最后,我们创建一个View类,它将绑定到ViewModel类的属性和命令。例如,我们创建一个名为“MainWindow”的窗口,它有一个文本框和一个按钮,用于更新Person的名称:
```xml
<Window x:Class="MVVMExample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:MVVMExample"
Title="MainWindow" Height="350" Width="525">
<Window.DataContext>
<vm:MainViewModel/>
</Window.DataContext>
<Grid>
<TextBox Text="{Binding Person.Name}"/>
<Button Content="Update" Command="{Binding UpdateCommand}"/>
</Grid>
</Window>
```
现在,我们已经完成了MVVM框架的搭建。当我们启动应用程序时,将显示一个窗口,其中包含一个文本框和一个按钮。当单击按钮时,Person的名称将更新为“Jane Doe”。
希望这个例子能够帮助你了解如何使用WPF和MVVMLight搭建MVVM框架。如果你有任何疑问,请随时问我。
阅读全文