2012-02-15 3 views
1

Возможно ли, чтобы элемент управления пользователя получал обновление всякий раз, когда пользовательский элемент управления меняет значение? У меня есть форма с кнопкой сохранения, и я хочу активировать ее, как только изменится значение.Обновить родительский элемент, когда элемент управления изменяет значение в WPF

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

ответ

1

Если вы свяжете свой взгляд к модели представления, то вы можете иметь IsDirty флага внутри вида модели, которая будет устанавливаться каждый раз, когда вы стрелять PropertyChanged события

protected void FirePropertyChanged(string propertyName) 
    { 
     PropertyChangedEventHandler handler = PropertyChanged; 
     _isDirty = true; 
     if(handler != null) 
     { 
      handler(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    } 

Затем связать свою кнопку с IsDirty

+0

Многого спасибо за то, что решили мою проблему. – user1145533

1

Самый простой способ - создать логическое свойство IsDirty, которое изменяется при изменении значения. Пара свойств IsEnabled кнопки сохранения для буфера IsDirty.

Если он находится в классе, который требуется отключить, используйте событие/уведомление.

Смежные вопросы