c# - 如何使用 Postsharp 捕捉属性变化?

标签 c# mvvm postsharp

我有一个带有 [NotifyPropertyChanged] 标记的 View 模型.这些属性当然是绑定(bind)在输入控件上的,比如文本框。我需要知道,模型的属性是因为输入而改变的。

我怎样才能 catch 这个事件?

最佳答案

如果 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/

相关文章:

wpf - 如何将 Ribbon 控件绑定(bind)到我的 ViewModel?

.net - 我应该如何从 ViewModel 触发警报?

dependency-injection - 有没有办法使用 PostSharp 使构造函数参数在类级别可见?

c# - 面板中按钮的位置不在表单中

c# - 欢迎消息在网络聊天中不可见,但在模拟器中有效

c# - 在代码中将 Rigidbody2D 主体类型设置为 "static"?

c# - 无法解析对程序集 'PostSharp' 的依赖性,因为它尚未预加载

c# - Entity Framework 将数字(1)转换为 bool 帮助?

javascript - MVVM Javascript 与传统 ASP.NET MVC 网站的可扩展性比较如何

c# - PostSharp 不能使用具有 > 127 个属性的匿名类型