WPF ViewModel не активный ведущий - PullRequest
0 голосов
/ 15 января 2011

Существует ViewModel, который состоит из некоторого связанного объекта (узлов и линий (, Как можно отобразить (синхронизировать) эти виртуальные машины в View и сохранить соединения объектов. Я использую некоторый DataTemplate для сопоставления модели для просмотра, но каждый объект будет синхронизирован (с мощной привязкой) к связанному объекту, но как я могу связать (и синхронизировать) этот элемент интерфейса, сгенерированный DataTemplate вместе. Я описываю проблему с другой точки зрения здесь: Sunchronizing вид модели и вид

Ответы [ 3 ]

0 голосов
/ 15 января 2011

Помимо реализации INotifyPropertyChanged и использования ICollectionChanged (ObservableCollection) и привязки к представлениям, вы можете рассмотреть возможность реализации IEditableObject , если хотите поддержать редактирование данных.

Этот интерфейс позволяет отменить редактирование действий. Без реализации IEditableObject вам нужно будет вернуться к источнику данных, чтобы сбросить исходные значения при отмене изменений. Интерфейс также поддерживается DataGrid.

0 голосов
/ 15 января 2011

Вы можете синхронизировать виртуальную машину и просмотр с помощью релейной логики команд.

пример тренировки можно посмотреть здесь

Связывание свойства «WindowState» окна в WPF с использованием MVVM

0 голосов
/ 15 января 2011

Для обеспечения синхронизации вашего представления вы должны использовать привязки, ваши источники привязки должны реализовывать определенные интерфейсы или быть зависимыми свойствами.Для коллекций вам нужно реализовать INotifyCollectionChanged, а для свойств вы бы использовали INotifyPropertyChanged, если вы затем измените источник, ваше представление также изменится.

...