Как запустить RoutedCommand на уровне приложения в шаблоне с несколькими окнами?
У меня есть несколько окон в приложении, например, window1, window2 и window3.
одна RoutedCommand (с KeyGesture F11) была привязана в window1. Как запустить эту перенаправленную команду, нажав F11, в то время как у window2 был фокус ввода?
В приложении WinForm я использую MessageFilter для обнаружения F11, но в WPF как это сделать?
1 ответ
Решение
Вы можете использовать CommandManager.RegisterClassCommandBinding, чтобы подключить обработчик ко всем приложениям Window. Это будет работать до конца вашего приложения, поэтому обычно имеет смысл поместить его в файл App.xaml.cs, но вы можете поместить его где угодно.
CommandManager.RegisterClassCommandBinding(typeof(Window), new CommandBinding(ApplicationCommands.Cut, CutExecuted));