Как я могу иметь команду, которую можно вызывать как из окна, так и из пользовательского элемента управления (нажав кнопку в любом из них), которая использует одни и те же методы выполнения и может выполняться? Похоже, если у меня есть следующее в XAML моего UserControl, для этого требуется, чтобы myCommandHandler
и canExecuteMyCommand
были в моем классе UserControl:
<CommandBinding Command="{x:Static local:MyUserControl.MyCommand}"
Executed="myCommandHandler"
CanExecute="canExecuteMyCommand"/>
Затем, если я хочу использовать ту же команду в своем окне, мне снова нужны myCommandHandler
и canExecuteMyCommand
, определенные в классе моего окна. Как я могу определить команду так, чтобы и мой UserControl, и Window могли получить к ней доступ, но myCommandHandler
и canExecuteMyCommand
определены только в одном классе? Нужно ли мне создавать свой собственный класс команд вместо объявления статического поля RoutedCommand
в MyUserControl
?