CommandBinding Ctrl +スペースバー
-
05-07-2019 - |
質問
RoutedUICommandを実装するRoutedCommandクラス内のコマンドを処理します。これにより、必要に応じてCanExecuteとExecuteをチェックして、コマンドをブロックまたはオーバーライドできます。 EditingCommand、ApplicationCommandなどをオーバーライドできます。処理できないコマンドの1つはCtr + Spacebarです。 MediaCommandなのか、それとも私が見つけられない他のタイプなのか?他のどこかで処理されていると思うので、それを制御することはできません。
解決
独自のカスタムコマンドを作成するか、事前定義されたコマンドに新しいジェスチャーを追加することができます。例:
public Window1()
{
InitializeComponent();
ApplicationCommands.Find.InputGestures.Add(new KeyGesture(Key.Space, ModifierKeys.Control));
CommandBinding commandBinding = new CommandBinding(ApplicationCommands.Find, myCommandHandler);
this.CommandBindings.Add(commandBinding);
}
private void myCommandHandler(object sender, ExecutedRoutedEventArgs args)
{
MessageBox.Show("Command invoked!");
}
他のヒント
WPFコマンドの使用経験はあまりありませんが、CtrlおよびSpacebar用の独自のカスタムコマンドを作成してみてください。
このチュートリアルを参照してください: http:// www .switchonthecode.com / tutorials / wpf-tutorial-command-bindings-and-custom-commands
所属していません StackOverflow