Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 让模型从Microsoft.Practices.Prism.ViewModel命名空间中的NotificationObject继承是否合理?_C#_Wpf_Mvvm_Prism - Fatal编程技术网

C# 让模型从Microsoft.Practices.Prism.ViewModel命名空间中的NotificationObject继承是否合理?

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

我正在用Prism重构我的wpf应用程序。我以前的模型实现了INotifyPropertyChanged接口,现在,我发现有一个NotificationObject类已经在Microsoft.Practices.Prism.ViewModel命名空间中实现了这个接口,我直接在我的ViewModels中使用它,但是在我的模型中使用它合理吗?在模型中使用名为“ViewModel”的名称空间是很奇怪的。或者在Prism中还有其他我没有发现的技巧吗?谢谢

有些人说是,有些人说不是。我说是因为
INotifyPropertyChanged
与视图无关。e、 g.EntityFramework实体的实现

为什么同样的人说不?可能是因为
INotifyPropertyChanged
位于System.ComponentModel命名空间中,并且如果您的ViewModels项目与ViewOne项目分开,则可以通过不引用程序集来强制执行MVVM


我完全支持极简主义和代码重用,因此喜欢直接绑定到我的模型,而不是复制ViewModel上的数据。而且您应该始终在绑定到的任何对象上实现
INotifyPropertyChanged

谢谢您的回复!我必须用我的模型实现InotifyProperty更改。我不明白为什么这个属性是在Pism.ViewModel名称空间中实现的,是否有其他方法来通知Prism中的模型的属性chagned?或者使用Prism处理其他模块,我不需要继承NotificationObject?谢谢是的,您始终可以继续执行INotifyPropertyChanged的自己的实现,即保持旧模型不变。一切都应该正常工作——它引发WPF侦听的相同事件。我不熟悉Prism-如果他们需要NotificationObject,那么我想您需要使用它:-/