我想在
WPF Popup的KeyDown事件中检测按键是否会导致关闭
square bracket]:
private void MyPopup_KeyDown(object sender,KeyEventArgs e) { if (theKeystrokeWouldResultIsAClosingSquareBracket) { // ... // do stuff // ... e.Handled = true; } }
该解决方案必须适用于任何键盘布局.请注意,不同布局的关键映射通常会有很大差异.因此,检查正确的组合键(如德国QWERTZ键盘上的Ctrl Alt Digit 9或US QUERTY键盘上的OemCloseBrackets)很遗憾没有解决方案.
尽管有这些问题,你怎么能完成这样的检测呢?
编辑 – 在开始赏金之前添加一些信息:
我目前正在我当前的项目中实现类似IntelliSense的功能. IntelliSense的灵感来自于:http://www.codeproject.com/Articles/22803/Intellisense-like-Method-Selection-Pop-up-Window
自定义语法允许使用[abc].[def]>等表达式. [ghi].[jkl],用户应该能够使intellisense函数自动完成括号中的文本.为了使intellisense函数与Visual Studio(以及许多其他IDE)的行为更相似,我想让用户在弹出的列表框中键入一个结束方括号以强制自动完成.
解决方法
您应该使用PreviewTextInput事件 – 这将获得TextCompositionEventArgs参数,其Text属性将是结束括号.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。