C# 让模型从Microsoft.Practices.Prism.ViewModel命名空间中的NotificationObject继承是否合理?
我正在用Prism重构我的wpf应用程序。我以前的模型实现了INotifyPropertyChanged接口,现在,我发现有一个NotificationObject类已经在Microsoft.Practices.Prism.ViewModel命名空间中实现了这个接口,我直接在我的ViewModels中使用它,但是在我的模型中使用它合理吗?在模型中使用名为“ViewModel”的名称空间是很奇怪的。或者在Prism中还有其他我没有发现的技巧吗?谢谢 有些人说是,有些人说不是。我说是因为C# 让模型从Microsoft.Practices.Prism.ViewModel命名空间中的NotificationObject继承是否合理?,c#,wpf,mvvm,prism,C#,Wpf,Mvvm,Prism,我正在用Prism重构我的wpf应用程序。我以前的模型实现了INotifyPropertyChanged接口,现在,我发现有一个NotificationObject类已经在Microsoft.Practices.Prism.ViewModel命名空间中实现了这个接口,我直接在我的ViewModels中使用它,但是在我的模型中使用它合理吗?在模型中使用名为“ViewModel”的名称空间是很奇怪的。或者在Prism中还有其他我没有发现的技巧吗?谢谢 有些人说是,有些人说不是。我说是因为INotif
INotifyPropertyChanged
与视图无关。e、 g.EntityFramework实体的实现
为什么同样的人说不?可能是因为INotifyPropertyChanged
位于System.ComponentModel命名空间中,并且如果您的ViewModels项目与ViewOne项目分开,则可以通过不引用程序集来强制执行MVVM
我完全支持极简主义和代码重用,因此喜欢直接绑定到我的模型,而不是复制ViewModel上的数据。而且您应该始终在绑定到的任何对象上实现
INotifyPropertyChanged
,谢谢您的回复!我必须用我的模型实现InotifyProperty更改。我不明白为什么这个属性是在Pism.ViewModel名称空间中实现的,是否有其他方法来通知Prism中的模型的属性chagned?或者使用Prism处理其他模块,我不需要继承NotificationObject?谢谢是的,您始终可以继续执行INotifyPropertyChanged的自己的实现,即保持旧模型不变。一切都应该正常工作——它引发WPF侦听的相同事件。我不熟悉Prism-如果他们需要NotificationObject,那么我想您需要使用它:-/