4

我需要知道是否更改了公共属性(具有 getter 和 setter)。该属性在一个简单的类中(没有用户控件/组件等)。
是否有一种优雅的方式来订阅某种事件,该事件会在属性更改时发出通知?
我试图看看微软在他们的 Binding 对象中做了什么(使用反射器),这导致我探索 PropertyDescriptor.AddValueChanged 方法,但它对我没有用。也许它只适用于组件/用户控件......

有什么建议么?

谢谢,
阿迪巴尔达

4

2 回答 2

12

只需实现 INotifyPropertyChanged 接口:http:
//msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx

这是一个众所周知的接口,由绑定 API 使用。只需按照该 msdn 页面上的示例实现即可。

于 2010-02-10T16:35:23.930 回答
2

INotifyPropertyChanged 应该可以工作,但您也可以创建自己的特定于属性的事件,而无需拖入 system.componentmodel。

于 2010-02-10T17:08:29.630 回答