根据我的理解,当使用与一个对象源相关的UI元素时,INotifyPropertyChanged
似乎非常有用。我只是好奇为什么.net框架中某些可能以某种方式与UI一起使用的类没有实现INotifyPropertyChanged
?例如SerialPort
class。
是否有关于使用INotifyPropertyChanged
的建议指南?或者我完全误解了界面的概念?
尝试将多个自定义用户控件链接到SerialPort
类后,就会出现此问题。
答案 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没有实现这个接口,所以在这个意义上我无法回答这部分问题。