MVVM: привязка к модели при одновременной синхронизации модели с версией сервера

Я потратил довольно много времени, чтобы попытаться найти элегантное решение для следующей задачи. Мне не удалось найти решение, которое больше, чем взломать эту проблему.

У меня есть простая настройка View, ViewModel и Model. Я сделаю это очень просто ради объяснения.

The Model has a single property called Title of type String. The Model is the DataContext for the View. The View has a TextBlock thats databound to Title on the Model. The ViewModel has a method called Save() that will save the Model to a Server The Server can push changes made to the Model

Все идет нормально. Теперь нужно сделать две корректировки, чтобы синхронизировать модель сServer, Тип сервера не важен. Просто знаю, что мне нужно позвонитьSave() чтобы подтолкнуть модель кServer.

Adjustment 1:

The Model.Title property will need to call RaisePropertyChanged() in order to translate changes made to the Model by the Server to the View. This works nicely since the Model is the DataContext for the View

Не так уж плохо.

Adjustment 2:

Next step is to call Save() to save changes made from the View to the Model on the Server. This is where I get stuck. I can handle the Model.PropertyChanged event on the ViewModel that calls Save() when the Model gets changed but this makes it echo changes made by the Server.

Я ищу элегантное и логичное решение и готов изменить свою архитектуру, если это имеет смысл.

Ответы на вопрос(5)

Ваш ответ на вопрос