0

次のコマンドを持つボタンがあります。

<Window.Resources>
    <RoutedUICommand x:Key="CommandPretraga"/>
</Window.Resources>

<Window.CommandBindings>
    <CommandBinding Command="{StaticResource CommandPretraga}" Executed="chkPretraga_Click" />
</Window.CommandBindings>

<Window.InputBindings>
    <KeyBinding Key="ENTER" Command="{StaticResource CommandPretraga}" />
</Window.InputBindings>

ほとんどのウィンドウから呼び出された場合、ショートカットは機能しますが、現在自分のTextBox要素の 1 つにいる場合、ショートカットは機能しません。これは、 が ENTER キー イベントを登録して処理しているためだと推測してTextBoxいます。それをキャッチして、ショートカットが呼び出すはずの同じ関数を呼び出してみましたが、うまくいきませんでした。

どうすればこれを解決できますか?

4

1 に答える 1

1

PreviewKeyDown イベントでキーストロークをインターセプトできます。

入力が定義済みのショートカットである場合は、対応するイベントを発生させ、e.Handled を true に設定して、それ以上処理されないようにします。

于 2013-06-10T14:42:04.007 に答える