私は私のXAMLコードでキーバインドを定義した:イベントに従うか、すべてのコンシューマを見つけるには?
<KeyBinding Command="{Binding CopyCommand}" Modifiers="Control" Key="C" />
私はCTRL+C
を押すと、CopyCommand
が呼び出されません。私が次の代わりに:
を押して、CTRL+U
を押すと、コマンドはうまく動作します。 これは、CTRL+C
が別の場所で処理され、KeyEventArgs
のHandled
の値がtrueに設定されているため、自分のコントロールに到達しないと考えています。
私はこの/任意のイベントですべての消費者を見つける可能性はありますか?イベントが作成されてから消費されるまで何らかの形でデバッグ/フォローできますか?
KeyDownハンドラを検索するだけでは、実際にはオプションではありません。
私は外部のソフトウェアを使用しても問題ありません。 Snoopのようなものですが、Visual Studio 2012を使用するソリューションやコードを書くことをお勧めします。
私はあなたがそうすることはできないと思っていますが、イベントはバブルアップ*することで、ウィンドウの子(おそらく 'KeyBinding')を所有している可能性が高いです。どのようなコントロールがキーボードのフォーカスを持っていますか? –
このトピックを見てみることをお勧めします。http://stackoverflow.com/a/12943306/7486915 –