私はWPFにKeyDownイベントハンドラを添付したウィンドウを持っています。例えばKeyDown Routed Eventがすでに処理されていない場合の処理方法。 TextBox
ユーザーが数字キー(0-9)を押すと、イベントに応答します。私はラジオボタンを選択するためにショートカットキーとして0-9を使用します。例えば。キー3を押すと3番目のラジオボタンが選択されます。
問題は、ユーザーがテキストボックス内の数値キーを押すと、キーパッドをショートカットとして処理したくないということです。なぜなら、TextBoxのデフォルトの実装を維持したいからです。
今のところ、TextBox内でユーザーが3を押すと、TextBoxのテキストは3に設定されますが、3'rdラジオボタンも選択されます。
ユーザーがTextBox内でキーを押したときにTextBoxがe.Handledをtrueに設定すると考えましたが、そうではありません。
また、TextBoxも単なる例です。ユーザーが階層内の他の入力コントロールに何かを入力すると、私はKeyDownイベントに応答したくありません。
私は、これを解決するためにルーティングされたイベントをよりよく理解する必要があると思います。
ユーザーに頭を悩ますような音がします。アプリケーションはユーザーフレンドリーである必要があります。これは、基礎となるコードの動作と同じくらい重要です。私はユーザーの混乱を恐れる。数値の代わりにFボタンをマッピングするほうがよいでしょうか? (私はあなたが理由を知っているかもしれないと気づいて、ただ質問する) –
私はもっと自分自身に同意できませんでした。しかし、ユーザーは以前のソフトウェアのショートカットに慣れているので、それは必要です –