案子
假设我有一个Person
类, aPersonViewModel
和 a PersonView
。
PersonView
从模型更新属性Person
非常简单。PersonViewModel
包含一个Person
对象并具有绑定到的公共属性PersonView
,以便更新 Person 模型。
然而。
想象一下Person
模型可以通过Service
. 现在需要将属性更改传递给PersonViewModel
,然后传递给PersonView
.
这就是我将如何解决它:
对于Person
模型上的每个属性,我都会引发 PropertyChanged 事件。PersonViewModel
订阅 的 PropertyChanged 事件Person
。PersonViewModel
然后会引发另一个 PropertyChanged 以更新PersonView
.
这对我来说似乎是最明显的方式,但我有点想把这个问题抛在那里,希望有人给我一个更好的方式。真的这么简单还是有更好的方法将模型标记为已修改并更新 ViewModel 上的相应属性?
加法
的PersonView
DataContext 是PersonViewModel
. Person
从 JSON 填充并在其生命周期内多次更新。
随意为我的特定案例建议架构更改。
回答
我将 aqwert 标记为我的问题的答案,因为它为我提供了我已经提出的解决方案的替代方案。