0

私の WPF アプリケーションにはTextBlockコントロールがあります。ユーザーがシフトキーを押しながら右ダブルクリックしたときに「イースターエッグ」を表示したい。

RoutedUiCommandすべてのコマンドを定義したアプリケーションの静的クラスにを追加しました。新しいコマンドのコマンド バインディングを追加しました。

<UserControl.CommandBindings>
    <CommandBinding CanExecute="ShowDiagnostics_CanExecute" Command="cs:CarSystemCommands.ShowDiagnostics"  Executed="ShowDiagnostics_Executed" />
</UserControl.CommandBindings>

を作成したとき、 ofでofRoutedUiCommandを指定しました。ここまでは順調ですね。 MouseGestureRightDoubleClickModifierKeyShift

コマンドを に関連付けるにはどうすればよいTextBlockですか?

4

3 に答える 3

1

コマンドを呼び出すテキスト ブロックにInputBindingを配置するのはどうですか?

于 2013-04-24T22:13:13.960 に答える
0

私がやったことは、 をCommandBindingからに移動することでしUserControl.ResourcesTextBlock:

<TextBlock ...>
    <TextBlock.CommandBindings>
        <CommandBinding CanExecute="ShowDiagnostics_CanExecute" Command="cs:CarSystemCommands.ShowDiagnostics"  Executed="ShowDiagnostics_Executed" />
    </TextBlock.CommandBindings>
</TextBlock>

これで、Shift キーを押しながら を右ダブルクリックするまで何も起こりませんTextBlock

他の回答も機能するため、投票しました。

于 2013-04-25T12:52:02.100 に答える