複数のWindowsパターンでアプリケーションレベルでRoutedCommandを起動する方法は?
-
02-10-2019 - |
質問
アプリケーションに複数のウィンドウがあります。たとえば、Window1、Window2、Window3です。
1つのRoutedCommand(Keygesture F11を使用)は、Window1でバインドされていました。 window2が入力フォーカスを持っている間に、F11を押してそのルーティングコマンドを起動する方法は?
Winformアプリケーションでは、MessageFilterを使用してF11を検出しますが、WPFでは、どうすればよいですか?
解決
CommandManager.RegisterClassCommandBindingを使用して、すべてのウィンドウアプリケーションワイドにハンドラーを接続できます。これは、アプリケーションの残りの部分で動作し続けるため、通常はapp.xaml.csに入れることは理にかなっていますが、どこにでも置くことができます。
CommandManager.RegisterClassCommandBinding(typeof(Window), new CommandBinding(ApplicationCommands.Cut, CutExecuted));
所属していません StackOverflow