INotifyPropertyChanged 属性
由于 C# 不允许多个继承,如果你的类已经有了其它实现,不能再继承 ObservableObject 时,可以使用 INotifyPropertyChanged,同样需要分部类,示例:
/// <summary>
/// OtherSetting.xaml 的交互逻辑
/// </summary>
[INotifyPropertyChanged]
public partial class OtherSetting : UserControl
{
public OtherSetting()
{
InitializeComponent();
}
[ObservableProperty]
private string? title;
[RelayCommand]
private void SaveSetting()
{
}
}
官方解释:
该 INotifyPropertyChanged 类型是一个属性,允许将 MVVM 支持代码插入现有类型。 除了其他相关属性(ObservableObject 以及 ObservableRecipient),其用途是支持开发人员,在这种情况下,需要这些类型的相同功能,但目标类型已经从另一种类型实现。 由于 C# 不允许多个继承,因此这些属性可用于让 MVVM 工具包生成器将这些代码直接添加到这些类型中,从而避开此限制。
链接:https://learn.microsoft.com/zh-cn/dotnet/communitytoolkit/mvvm/generators/inotifypropertychanged
评论已关闭