WPF MVVM UpdateSourceTrigger = Excplict - PullRequest
0 голосов
/ 19 июня 2010

В моем Wpf-приложении (MVVM) есть contentcontrol, который привязан к объекту и отображает свойства объектов в текстовых полях, чтобы пользователь мог редактировать значения свойств.Я хочу реализовать функции отмены / повтора с помощью шаблона команды GoF.Для этого мне нужна точка, в которой я могу создать команду и установить ее в свой отладчик.Моя идея состояла в том, чтобы добавить кнопку отправки.Когда кнопка нажата, я обновляю источники текстовых полей (мои свойства) и создаю свой командный объект, чтобы сделать изменения отменяемыми (сохраняя старое состояние объекта и новое состояние).Но: - Для использования кнопки отправки мне нужно установить UpdateSourceTrigger для текстовых полей в Явное.Если я хочу обновить свои источники, мне нужно сослаться на элементы управления в моем представлении, что плохо, насколько я узнал.Как я могу это сделать?С MVVM мне нужно создать Команду (WPF Command, а не мою команду отмены повторения) для SubmitButton, но я не вижу, как применить изменения к свойствам этой команды без ссылки на текстовые поля (дальнейшая эй генерируется с помощью таблиц данных).

Спасибо, Уолтер

1 Ответ

0 голосов
/ 19 июня 2010

Я предполагаю, что ваши TextBox элементы управления привязаны к свойствам в классе ViewModel. Если вы связываете кнопку отправки с ViewModel Command, которая, в свою очередь, может добавить вам соответствующую команду Command Pattern Collection, а также изменить некоторые свойства ViewModel, значения в элементах управления Textbox также будут обновлены. Теперь, чтобы Textbox обновил свое значение, когда значение свойства, с которым он связан, должно измениться, класс ViewModel должен реализовать интерфейс INotifyPropertyChanged и вызвать событие PropertyChanged из установщика свойства с именем этого свойства в качестве аргумента.

...