WPF ViewModel не является активным ведущим

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


person mehran    schedule 15.01.2011    source источник


Ответы (3)


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

person H.B.    schedule 15.01.2011
comment
Спасибо за вашу помощь, но я сделал это, то есть реализовал INotifyPropertyChanged в модели представления. Но я хочу связать сгенерированные элементы пользовательского интерфейса друг с другом, как я описываю, я генерирую их с помощью DataTemplate. - person mehran; 15.01.2011

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

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

person Emond Erno    schedule 15.01.2011

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

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

Привязка свойства WindowState объекта окно в WPF с использованием MVVM

person Binil    schedule 15.01.2011