Case
Скажем, у меня есть класс Person, PersonViewModel и 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 ответом на мой вопрос, так как он предоставил мне альтернативу решению, которое я уже предложил.