TextBoxにフォーカスがあり、キーボードショートカットがクリックされたときに、WPFポップアップコントロールを表示するイベントをフックする必要があります。例えば。TextBoxフィールドに入力するとき、ユーザーはAlt + Hを押してヘルプを表示し、入力ヘルプを示すポップアップダイアログを表示できます。テキストボックスの「外側」でALT+Hを押しても、ポップアップは開きません。
何か案は?
の仕事のように見えAttached Event
ます。
MSDN から:
添付イベントの概念により、特定のイベントのハンドラーを、イベントを実際に定義または継承する要素ではなく、任意の要素に追加できます。この場合、イベントを発生させる可能性のあるオブジェクトも、宛先処理インスタンスもイベントを定義または「所有」しません。
詳細については、MSDNを参照してください。
コマンド バインディングを使用します。
ApplicationCommands.Help.InputGestures.Add(new KeyGesture(Key.H, ModifierKeys.Alt));
this.CommandBindings.Add(new CommandBinding(ApplicationCommands.Help, Help_Executed, Help_Enabled));
関数 Help_Executed でいくつかの操作を行います 関数 Help_Enabled で、テキストボックスが選択されているかどうかを確認し、e.CanExecute = true; を実行します。
InputGestures はヘルプのために ALT-H を割り当てます