Как запустить RoutedCommand на уровне приложения в шаблоне с несколькими окнами? - PullRequest
3 голосов
/ 07 июля 2010

У меня есть несколько окон в приложении, например, window1, window2 и window3.

одна RoutedCommand (с KeyGesture F11) была привязана в window1. Как запустить эту перенаправленную команду, нажав F11, в то время как у window2 был фокус ввода?

В приложении WinForm я использую MessageFilter для обнаружения F11, но в WPF как это сделать?

1 Ответ

2 голосов
/ 07 июля 2010

Вы можете использовать CommandManager.RegisterClassCommandBinding, чтобы подключить обработчик ко всем приложениям Window.Это будет работать до конца вашего приложения, поэтому обычно имеет смысл поместить его в файл App.xaml.cs, но вы можете поместить его куда угодно.

CommandManager.RegisterClassCommandBinding(typeof(Window), new CommandBinding(ApplicationCommands.Cut, CutExecuted));
...