INotifyPropertyChanged 属性

由 帅木 发布

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


0条评论

评论已关闭