2009-04-01 24 views
1

私は入力ジェスチャー、すなわちキーボードショートカットを持つメニューバーを維持しているWPFアプリケーションを使っています。WPF入力ジェスチャー

[名前を付けて保存]メニュー項目では、ユーザーの要件に応じてCtrl + Aを押し続けました。フォーカスがメインウィンドウ上にある限り、正常に動作します。

今、私の問題は、いくつかのリストボックス内のウィンドウ内を移動し、Ctrl + Aを押すと、すべての機能を選択するとリストボックスの場所が取られ、別名で保存ダイアログボックスが呼び出されないこの入力ジェスチャーのコマンドバインディングを実行しました)

どのように私はこれを避けることができますか?はい、入力ジェスチャーを変更することはできません。それはCtrl + Aでなければなりません。 :)私はあなたがコマンドのバインディングを削除するには、リストボックスオブジェクト上のコマンドのバインディングを変更することができると思い

おかげ

答えて

2

を。 ListBox.CommandBindingsリストを見てください。

ListBoxでFocusableをオフにして、キーボードコマンドを受信しないようにすることもできます。

イベントモデルをチェックアウトすることもできます。プレビューイベントが論理ツリーのルートから「バブルアップ」し、最後の要素から下に渡されるので、おそらくキーダウンをキャッチすることができます。途中でやり直したときに処理されたものとしてマークすることができます。