我有一个用[NotifyPropertyChanged]标记的viewmodel。这些属性当然绑定(bind)在输入控件(例如文本框)上。我需要知道,由于输入,模型的属性已更改。

我怎样才能 catch 这个 Activity ?

最佳答案

如果由NotifyPropertyChanged装饰的类直接实现INotifyPropertyChanged,则PostSharp要求有一个带有签名的方法:

void OnPropertyChanged(string propertyName)

此方法必须显式引发PropertyChanged事件。工作示例如下所示:
[NotifyPropertyChanged]
public class OsModel : INotifyPropertyChanged
{
    public int P1 { get; set; }

    public event PropertyChangedEventHandler PropertyChanged;

    protected virtual void OnPropertyChanged(string propertyName)
    {
        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
}

可以找到其他信息here

关于c# - 如何使用Postsharp捕获属性更改?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26733658/

10-11 10:23