Mvvm ViewModel如何在数据项';谁的财产变了?

Mvvm ViewModel如何在数据项';谁的财产变了?,mvvm,Mvvm,ViewModel可以通过引发属性更改事件来通知视图有关属性更改的信息。如果基础数据(例如,未实现IPropertyChange的普通类)发生更改,如何通知ViewModel 如果基础数据(例如,未实现IPropertyChange的普通类)发生更改,如何通知ViewModel 不能,必须有一个机制来进行通知。最可能的原因是在应用程序的一个区域(或模块)中使用的POCO也在另一个区域(即松散耦合的主-细节情况)中使用。如果您像这样“共享”同一个POCO实例,那么您不太可能没有在其中实现更改通知。

ViewModel可以通过引发属性更改事件来通知视图有关属性更改的信息。如果基础数据(例如,未实现IPropertyChange的普通类)发生更改,如何通知ViewModel

如果基础数据(例如,未实现IPropertyChange的普通类)发生更改,如何通知ViewModel

不能,必须有一个机制来进行通知。最可能的原因是在应用程序的一个区域(或模块)中使用的POCO也在另一个区域(即松散耦合的主-细节情况)中使用。如果您像这样“共享”同一个POCO实例,那么您不太可能没有在其中实现更改通知。如果您已经实现了更改通知,那么应用程序的一个模块中的更改将自动对另一个模块可见(它们都在查看同一个对象),任何监视该更改通知的对象(如绑定子系统)都将执行其操作并获取更改

如果您有两个相同数据的独立实例,并且其中一个得到更新,那么另一个将不知道。当VM通过模型请求数据,并且模型从断开连接的数据源(如数据库或web服务)检索数据时,也会发生这种情况。您不知道基础数据什么时候发生了更改,再次需要实现更改通知系统。您还可以对此采取另一种方法—让用户更改数据,然后在保存用户的更改之前重新抓取数据,如果在用户工作时基础数据已更改,则您可以通知用户并采取适当的操作(或让用户选择适当的操作)

这回答了你的问题吗?或者你愿意详细说明你想知道什么