Когда возникают эти события и как они связаны? "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
,