Я пытаюсь синхронизировать данные между отдельными представлениями в MVVM.
Вот сценарий:
Существует две модели представления и два представления соответственно:
ViewModel1: содержит список объекта «Person» с именем «People», который определен в Entity Framework и получен через службу WCF.
View1: содержит ItemsControl, который привязан к «People» ViewModel. Цвет предмета может варьироваться в зависимости от его стоимости, например: лицо старше 60 лет может выглядеть красным, а лицо моложе 18 лет - зеленым. Это достигается с помощью преобразователя значений.
(в View1 есть кнопка «Показать подробную информацию», при ее нажатии появляется диалоговое окно ChildWindow, и отображается подробная информация о выбранном в данный момент «Персоне»)
ViewModel2: содержит объект «SelectedPerson» и реализует метод «Save».
View2: содержит несколько полей ввода, привязанных к соответствующим полям объекта «SelectedPerson», таких как TextBox для «Person.FirstName», DateTimePicker для «Person.Birthday», RadioButton для «Person.Gender» и т. Д.
Проблема:
когда я изменил некоторые поля (то есть поле «Имя») и нажал кнопку «Сохранить», я даже могу видеть, что изменения были внесены в базу данных. Однако соответствующий элемент в View1 не смог обновить свой цвет.
Есть ли лучший способ решить эту проблему?