如何在WPF应用程序中本地拦截按键操作

时间:2011-04-15 16:07:14

标签: .net wpf keypress

拦截按键并在WPF应用程序中处理它们的最佳方法是什么,避免重点控制得到按键?

我需要应用程序处理一系列按键(包括箭头键)并避免使用焦点控制(即Treeview)获取按键事件。我已经看到了使用interop执行此操作的方法,但是希望在WPF应用程序中本机支持这种方式吗?

感谢。

1 个答案:

答案 0 :(得分:6)

您可以附加到应用程序中根元素的PreviewKeyDown事件,该事件通常是一个Window。如果将e.Handled设置为true,那么通常会阻止任何其他内容获取PreviewKeyDown或KeyDown事件。

此外,您可能需要处理PreviewTextInput事件,因为这是文本框或其他编辑人员通常使用的事件。