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

本文关键字:是什么 消息 背后 程序 事件处理 PropertyChanged INotifyPropertyChanged | 更新日期: 2023-09-27 17:54:05

我们一直在使用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'的PropertyChanged事件处理程序背后是什么?消息接收/

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

给你一个起点:

INotifyPropertyChanged(系统)

你还会在PresentationFramework中看到INotifyPropertyChanged2的实现,你可能会想要查看一下。

我希望这是有帮助的!