Привязка IDataErrorInfo к свойству кнопки окна IsEnabled - PullRequest
3 голосов
/ 15 января 2009

У меня есть подокно WPF с некоторыми элементами управления вводом, которые пользователь должен правильно заполнить перед нажатием кнопки Ok.

Я уже реализовал интерфейс IDataErrorInfo для проверки всех свойств, связанных с элементами управления пользовательского интерфейса.

Теперь мне бы хотелось, чтобы свойство IsEnabled кнопки Ok было True , только если ВСЕ элементы управления действительны, в противном случае его необходимо установить на False .

Это должно быть легко, но я не могу найти правильное решение. Есть ли у вас какие-либо предложения?

Заранее спасибо!

1 Ответ

1 голос
/ 15 января 2009

Чао; -)

Я думаю, что вы можете связать свойство IsEnabled кнопки с (например) свойством IDataErrorInfo.Error ваших данных через IValueConverter (который вы должны реализовать), который преобразует из string в bool (например если значение if String.Empty чем возвращаем true).

Другое решение заключается в использовании Command s и включении этой логики в CanExecute: таким образом, вам просто нужно связать Command с вашим Button. НТН

...