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模型,可以使用