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