wpf 使用MvvmLight 实现的mvvm工程实例
时间: 2023-08-18 11:04:00 浏览: 129
好的,这里我可以给你一个WPF使用MvvmLight实现MVVM的工程实例。
首先,你需要在Visual Studio中安装MvvmLight框架。可以通过NuGet来安装MvvmLight库,具体步骤如下:
1. 在Visual Studio中打开你的WPF工程。
2. 在Solution Explorer窗口中右键单击工程,选择“Manage NuGet Packages”。
3. 在“NuGet Package Manager”窗口中,在搜索框中输入“MvvmLight”,选择“MvvmLight”并安装。
接下来,我们就可以开始实现MVVM模式了。
1. 创建一个新的ViewModel类,继承自ViewModelBase类。
```csharp
using GalaSoft.MvvmLight;
public class MainViewModel : ViewModelBase
{
//ViewModel的属性和命令
}
```
2. 在ViewModel中实现需要绑定的属性和命令。
```csharp
private string _message;
public string Message
{
get { return _message; }
set
{
if (_message != value)
{
_message = value;
RaisePropertyChanged(() => Message);
}
}
}
private RelayCommand _showMessageCommand;
public RelayCommand ShowMessageCommand
{
get
{
if (_showMessageCommand == null)
{
_showMessageCommand = new RelayCommand(() =>
{
MessageBox.Show(Message);
});
}
return _showMessageCommand;
}
}
```
3. 在View中绑定ViewModel的属性和命令。
```xaml
<Window x:Class="WpfApp1.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:WpfApp1"
xmlns:vm="clr-namespace:WpfApp1.ViewModel"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.DataContext>
<vm:MainViewModel />
</Window.DataContext>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBox Text="{Binding Message, UpdateSourceTrigger=PropertyChanged}" />
<Button Grid.Row="1" Content="Show Message" Command="{Binding ShowMessageCommand}" />
</Grid>
</Window>
```
在这个例子中,我们创建了一个MainViewModel类,其中包含了一个Message属性和一个ShowMessageCommand命令。在View中,我们使用DataContext将ViewModel实例与View绑定,并使用Binding将ViewModel的属性和命令绑定到View上。
这样,我们就成功地使用MvvmLight实现了MVVM模式。当用户在TextBox中输入文字并点击Button时,将会弹出一个对话框显示用户输入的文字。
阅读全文