我们所有人一直在使用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/