wpf mvvm框架实例。引用 Mvvm Light
时间: 2023-09-18 11:10:20 浏览: 179
一个wpf+mvvm的实例
好的,下面给您提供一个简单的 WPF MVVM 框架实例,使用 Mvvm Light:
1. 首先,您需要在 Visual Studio 中创建一个 WPF 项目。
2. 在项目中,使用 NuGet 包管理器安装 Mvvm Light。打开 NuGet 包管理器,搜索并安装“MvvmLight”。
3. 创建一个 ViewModel 类。在项目中创建一个名为“ViewModels”的文件夹,在其中创建一个类,例如“MainViewModel”。此类将包含所有与用户界面交互的逻辑。
```csharp
using GalaSoft.MvvmLight;
namespace YourNamespace.ViewModels
{
public class MainViewModel : ViewModelBase
{
// Add properties and methods here
}
}
```
注意:此处继承自“ViewModelBase”,这是 Mvvm Light 框架中的一个基类,它提供了一些有用的属性和方法。
4. 创建一个 View 类。在项目中创建一个名为“Views”的文件夹,在其中创建一个类,例如“MainWindow”。此类将显示用户界面。
```xaml
<Window x:Class="YourNamespace.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Main Window">
<!-- Add UI elements here -->
</Window>
```
注意:此处的类名应与窗口的名称相同。
5. 在 ViewModel 中添加属性和方法。您可以添加任何您需要的属性和方法,例如:
```csharp
private string _message = "Hello, world!";
public string Message
{
get { return _message; }
set { Set(ref _message, value); }
}
public void ShowMessage()
{
MessageBox.Show(_message);
}
```
注意:这里使用了“Set”方法,这是“ViewModelBase”基类中的一个方法,它会自动触发属性更改通知。
6. 在 View 中绑定属性和命令。在 XAML 中,使用“Binding”元素绑定 ViewModel 中的属性,使用“Command”元素绑定 ViewModel 中的命令。例如:
```xaml
<Window x:Class="YourNamespace.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:YourNamespace.ViewModels"
Title="Main Window"
DataContext="{Binding Main, Source={StaticResource Locator}}">
<StackPanel>
<TextBlock Text="{Binding Message}"/>
<Button Content="Show Message" Command="{Binding ShowMessageCommand}"/>
</StackPanel>
</Window>
```
注意:这里使用了“DataContext”属性,它将 View 的数据上下文设置为 ViewModel。还使用了“StaticResource”元素引用了一个名为“Locator”的静态资源,这是 Mvvm Light 框架中的一个类,它允许您在 View 中使用 ViewModel。
7. 在 App.xaml 中添加 Locator。在 App.xaml 中添加以下内容:
```xaml
<Application.Resources>
<vm:ViewModelLocator x:Key="Locator" />
</Application.Resources>
```
注意:这里使用了“ViewModelLocator”类,它是 Mvvm Light 框架中的一个类,它允许您在 View 中使用 ViewModel。
8. 运行程序。您现在应该能够看到一个窗口,在其中显示了“Hello, world!”文本和一个“Show Message”按钮。单击按钮将显示一个消息框,其中包含相同的文本。
以上就是一个简单的 WPF MVVM 框架实例,使用了 Mvvm Light。当然,这只是一个基础示例,您可以根据您的需要进行更改和扩展。
阅读全文