Даже если я связываю кнопку с классом, полученным из ICommand
, мне все равно остается выяснить, как кнопка должна вызывать метод CanExecute
и обновлять ее включенное состояние.Я знаю о событии CanExecuteChanged
, для которого регистрируется кнопка со связанной командой, но см. Следующий абзац, почему это хлопотно.
В простом старом диалоговом окне, состоящем из 10-15 элементов управления, онокажется случайным обрабатывать каждое уведомление об изменении для каждого из этих элементов управления, вызывая событие CanExecuteChanged
в команде кнопки, вызывая влияние на состояние включенной кнопки возвращаемого значения метода CanExecute
.Даже заявление о том, что нужно сделать в последнем предложении, было довольно громоздким.
Должен быть лучший способ кодирования диалогового окна WPF, чтобы кнопка подтверждения (например, ОК) была недоступна, пока все элементы управления не имеют действительной информации и не были активированы в этот момент времени (т. Е. Когда всеэлементы управления должным образом заполнены).Пример кода, идеи и ссылки на статьи будут очень благодарны.
Спасибо