INotifyPropertyChanged

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的人已经问过类似的问题,但是我没有找到任何明确的答案。

谢谢!

最佳答案

如果您想以交互方式探索INotifyPropertyChanged发生了什么,我强烈建议您访问Microsoft的新参考源站点。我已经广泛使用它来了解.NET幕后发生的事情。

这是您的起点:

INotifyPropertyChanged (System)

您还将在PresentationFramework中看到一个INotifyPropertyChanged2实现,您可能需要仔细研究一下。

我希望这是有帮助的!

关于c# - INotifyPropertyChanged PropertyChanged事件处理程序背后是什么?消息接收/处理机制是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22698788/

10-11 15:57