何时实现iNotifyPropertyChanged接口?

时间:2011-02-28 01:41:23

标签: c# .net inotifypropertychanged

根据我的理解,当使用与一个对象源相关的UI元素时,INotifyPropertyChanged似乎非常有用。我只是好奇为什么.net框架中某些可能以某种方式与UI一起使用的类没有实现INotifyPropertyChanged?例如SerialPort class。

是否有关于使用INotifyPropertyChanged的建议指南?或者我完全误解了界面的概念?

尝试将多个自定义用户控件链接到SerialPort类后,就会出现此问题。

3 个答案:

答案 0 :(得分:3)

您正确理解了界面。

但是认为SerialPort类与UI有某种关系是件坏事。该类应该允许访问这一个资源。没有更多,没有更少。如果您想以某种方式显示与SerialPort相关的信息,您应该创建自己的业务类,使用SerialPort并通过属性和INotifyPropertyChanged公开所需的信息。

答案 1 :(得分:2)

通常,INotifyPropertyChanged是在具有为WPF或Silverlight开发的应用程序业务逻辑的类上实现的。

如果其他应用程序(如WCF或Winform 2.0)使用SerialPort类,则INotifyPropertyChanged将很少或没有用。

无论如何它是WPF框架引擎所理解的接口。 您可以创建一个可以实现INotifyPropertyChanged并在内部保存SerialPort类的业务类。

希望它有意义。

答案 2 :(得分:1)

INotifyPropertyChanged是允许对象与其绑定进行通信,因此从这个意义上说,您的理解是正确的。

您可以wrap使用SerialPort提供此功能。

我不确定为什么SerialPort没有实现这个接口,所以在这个意义上我无法回答这部分问题。