【发布时间】:2014-03-27 20:42:58
【问题描述】:
我们一直在使用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上很多人已经问过一些类似的问题,但我没有找到任何明确的答案。
谢谢!
【问题讨论】:
-
INP 早于 WPF。 WPF 只是将现有的基础结构用于其绑定。直接回答:the Binding class。更有趣:Dependency Properties
-
你说的“这个控件”是什么意思?
-
@Blam :我删除了包含“这个控件”的整个句子——这比澄清我的问题的性质更令人困惑。
-
@HenkHolterman :非常感谢您的参考!看来他们确实澄清了 INotifyPropertyChanged 的很多背景。
-
也许我错过了一些东西,但是是什么让你认为它很复杂?鉴于目标实现了 INotifyPropertyChanged,所有需要发生的是该事件的通用处理程序。
标签: c# .net wpf inotifypropertychanged