当 TextBox 具有焦点并单击键盘快捷键时,我需要连接一个显示 WPF Popup 控件的事件。例如。在 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 寻求帮助