Я работаю над WPF-приложением с MVVM, но не использую какие-либо из MVVM-фреймворков, таких как MVVM light и т. Д. Я создал пользовательские элементы управления, которые размещают как минимум 8-9 элементов управления, и это отображается в ItemControl in главное окно. В главном окне есть кнопки сохранения и закрытия. Я внедрил Custom DataValidation, и если какой-либо элемент управления имеет проверку данных, он отключает кнопку «Сохранить». Это работает, как и ожидалось, во всех других элементах управления, но не работает для ItemControl. Пользовательский элемент управления имеет проверку данных и отображение ошибок проверки, но я не могу отключить кнопку сохранения. Любая помощь будет действительно оценена. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.Usercontrol Validation in ItemsControl
0
A
ответ
0
Чтобы включить или отключить кнопку, вы должны рассмотреть возможность использования MVVM Commands.
Они позволят вам привязать команду к кнопке (например, Сохранить) с помощью функции делегата CanExecute()
. Этот CanExecute()
может проверить, недействителен ли какой-либо элемент управления пользователя на ItemsControl
(с использованием свойств действительности элементов управления пользователя), а затем вернуть значение false.
CanExecute()
уволен практически при каждой возможности визуализации пользовательского интерфейса и, следовательно, является видом наблюдаемым.
Я бы предложил добавить пример сжатого кода, если можно. С наилучшими пожеланиями, –