我有一个连接到wcf服务引用的WPF客户端应用程序。
我的模型仅来自服务参考。
我想为每个模型创建一个viewmodel,如何在不将每个属性从模型手动添加到viewmodel的情况下添加NotifyPropertyChangedEvent
我在mvvm中看到,模型可以从ObservebleObject中删除,唯一的问题是模型是在其他地方创建的,我只是在获取引用。
有什么想法吗?
谢谢
答案 0 :(得分:1)
每次你在服务上调用一个方法时,它都会返回一个新的DTO。它永远不会给你相同的实例,你不能使用服务来操作一个对象实例 - 通信中使用的所有数据都是暂时的。
因此,这些实例永远不会更新(它们不是模型),因此实施INotifyPropertyChanged
将毫无意义。相反,您需要编写视图模型并将DTO复制到其中。视图模型是您实现INotifyPropertyChanged
的地方。
答案 1 :(得分:0)
我认为必须将INotifyPropertyChanged
的实施放在Model
中。您只需在ViewModel
。
为什么您的View
需要告诉Model
(通过ViewModel
)某些内容已被更改?我认为它应该只告诉ViewModel
存在变化。然后让View Model
与Model
一起玩。