MVVM:属性上的触发方法已使用 Fody.PropertyChanged 更改

本文关键字:Fody 更改 PropertyChanged 方法 属性 MVVM | 更新日期: 2023-09-27 18:35:15

我想在属性更改上运行一个方法。我希望我的代码编译成这样的东西:

public string Property
    {
        get { return _property; }
        set
        {
            _property= value;
            IWantToCallFromHere(); // I want to inject this call
            NotifyPropertyChanged();
        }
    }

MVVM:属性上的触发方法已使用 Fody.PropertyChanged 更改

在名为On_PropertyName_Changed的页面的Wiki中进行了描述。

实质上,您添加一个具有命名约定的方法private void OnYourPropertyNameChanged()

您想要实现的目标的完整示例如下:

public string Property
{
    get; set;
}
private void OnPropertyChanged()
{
    IWantToCallFromHere();
}

翻译成

private string _property;
public string Property
{
    get => _property; 
    set
    {
        if(_property != value)
        {
            _property = value;
            OnPropertyChanged();
            NotifyPropertyChanged();
        }
    }
}
private void OnPropertyChanged()
{
    IWantToCallFromHere();
}