Команды всего приложения только в сфокусированном управлении
Можно ли зарегистрировать команду приложения в Catel, которая будет запускаться только тогда, когда конкретный элемент управления имеет фокус?
Например, в Catel.Examples.WPF.Commanding
Например, ( https://github.com/Catel/Catel.Examples/tree/master/src/NET/Catel.Examples.WPF.Commanding), если я заменю TextBlock
с TextBox
и добавить RibbonButton
с ApplicationCOmmands.Cut
а также ApplicationCommands.Paste
эти команды приложения работают только на TextBox
,
Можно ли заставить команду "Обновить" выполняться только на DocumentView
какой фокус?
В качестве альтернативы, есть ли пример или руководство по использованию RoutedUICommands
с Кателем и его ICommandManager
?
Спасибо том
1 ответ
Это возможно, если вы зарегистрируете пустую команду всего приложения. Затем вы можете добавить действие / подкоманду всякий раз, когда инициализируете модель представления, и отменять регистрацию при повторном закрытии vm. Таким образом, команда будет вызываться для всех "открытых" экземпляров (и будет выполняться только при наличии одной или нескольких подкоманд).