INotifyPropertyChanged PropertyChanged事件处理程序背后的内容是什么?什么是消息接收/处理机制?

时间:2014-03-27 20:42:58

标签: c# .net wpf inotifypropertychanged

我们都在使用INotifyPropertyChanged。它允许正在开发的控件订阅PropertyChanged事件。

同时,界面的实现非常简单,实际上并没有为PropertyChanged事件处理程序假设任何显式代码。以下是实施的典型示例:

    public event PropertyChangedEventHandler PropertyChanged;

    public void OnPropertyChange(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }

似乎WPF本身为声明的成员" PropertyChanged"分配了一个事件处理程序。所以我的问题是WPF对这个成员究竟做了什么。

也许有人可以就INotifyPropertyChanged背后的确切机制提出一篇好文章。

我看到SO上的很多人已经问了一些类似的问题,但我还没有找到任何明确的答案。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您想以交互方式探索INotifyPropertyChanged的情况,我强烈建议您访问Microsoft的新参考源网站。我一直在广泛使用它来了解.NET背后的情况。

以下是您的起点:

INotifyPropertyChanged (System)

您还可以在PresentationFramework中看到一个您可能希望查看的INotifyPropertyChanged2实现。

我希望这有用!