Когда возникают эти события и как они связаны? "CommandManager.CanExecute и CanExecute из CommandBinding

Когда возникают эти события и как они связаны? "CommandManager.CanExecute и CanExecute из CommandBinding???

1 ответ

CanExecute событие CommandBinding увольняется, когда CommandBinding считает, что что-то изменилось, что может повлиять на состояние команды. В первую очередь это происходит, когда пользователь каким-то образом взаимодействует с пользовательским интерфейсом (движения мыши, щелчки, изменения фокуса и т. Д.) Или когда действие пользователя вызывает PropertyChanged или же CollectionChanged событие. Это событие не срабатывает, когда ваш код что-то меняет в пользовательском интерфейсе или вызывает PropertyChanged событие для огня.

Есть ли конкретная ситуация, которую вы имеете в виду?

CommandManager.CanExecute Метод это способ прикрепить CanExecute обработчик события для элемента пользовательского интерфейса, так что когда CanExecute из RoutedUICommand всплывает визуальное дерево, это может вызвать CanExecute обработчик события. Это просто другой способ прикрепить CanExecute событие в элемент для разных сценариев, но конечный результат такой же, как добавление CommandBinding к CommandBindings коллекция UIElement,

Другие вопросы по тегам