CommunityToolkit.Mvvm 是一个现代、快速和模块化的 MVVM 库,用于 .NET 应用程序。以下是如何使用 CommunityToolkit.Mvvm 的基本步骤:
-
安装包:
- 你可以通过 NuGet 包管理器安装
CommunityToolkit.Mvvm。在 Visual Studio 中,你可以通过“解决方案资源管理器”右键单击项目选择“管理 NuGet 包”,搜索CommunityToolkit.Mvvm并安装它。或者使用命令行:dotnet add package CommunityToolkit.Mvvm - 添加 using 或 Imports 指令以使用新 API:
using CommunityToolkit.Mvvm;
- 你可以通过 NuGet 包管理器安装
-
创建 ViewModel:
- 使用
ObservableObject作为 ViewModel 的基类,这样你的 ViewModel 就会自动实现INotifyPropertyChanged接口,从而支持数据绑定和属性变更通知。 - 例如:
public class MyViewModel : ObservableObject {private string _firstName;public string FirstName{get => _firstName;set => SetProperty(ref _firstName, value);} }
- 使用
-
使用源生成器:
- CommunityToolkit.Mvvm 提供了源生成器来简化 ViewModel 的创建。你可以通过为字段添加
[ObservableProperty]特性来自动生成属性和变更通知。 - 例如:
[ObservableObject] public partial class MyViewModel {[ObservableProperty]private string _firstName; }
- CommunityToolkit.Mvvm 提供了源生成器来简化 ViewModel 的创建。你可以通过为字段添加
-
创建命令:
- 使用
RelayCommand或AsyncRelayCommand来创建可以绑定到 UI 元素的命令。 - 例如:
public class MyViewModel : ObservableObject {public IRelayCommand SayHelloCommand { get; }public MyViewModel(){SayHelloCommand = new RelayCommand(SayHello);}private void SayHello(){// Command logic here} }
- 使用
-
消息传递:
- 使用
IMessenger接口和WeakReferenceMessenger或StrongReferenceMessenger类来进行不同 ViewModel 或 View 之间的消息传递。
- 使用
-
数据转换:
- 使用
IValueConverter接口创建值转换器,以便在数据绑定中转换数据。
- 使用
-
使用特性:
- 利用 CommunityToolkit.Mvvm 提供的各种特性,如
[AlsoNotifyChangeFor]来通知其他属性的变更,[AlsoNotifyCanExecuteFor]来通知命令的可执行状态变更。
- 利用 CommunityToolkit.Mvvm 提供的各种特性,如
-
包装非Observable模型:
- 如果你有来自数据库或其他来源的非Observable模型,可以使用
SetProperty方法来包装这些模型,使其支持属性变更通知。
- 如果你有来自数据库或其他来源的非Observable模型,可以使用