我们都在使用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上的很多人已经问了一些类似的问题,但我还没有找到任何明确的答案。
谢谢!
答案 0 :(得分:2)
如果您想以交互方式探索INotifyPropertyChanged的情况,我强烈建议您访问Microsoft的新参考源网站。我一直在广泛使用它来了解.NET背后的情况。
以下是您的起点:
INotifyPropertyChanged (System)
您还可以在PresentationFramework中看到一个您可能希望查看的INotifyPropertyChanged2实现。
我希望这有用!