質問

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top