全局禁用WPF窗口的键盘

本文关键字:键盘 窗口 WPF 全局 | 更新日期: 2023-09-27 18:26:38

除了一个或两个例外,我需要禁用所有UI元素的键盘输入。

问题是,我需要用于控制的箭头键,所以我在MainWindow级别上添加了一个KeyEventHandler,并为UI元素(如Tab Items、Textbox)添加了另一个,以便它们在获得焦点时忽略输入。我最终得到了一个漂亮的童车控制。我仍然可以浏览,例如通过选项卡项目,控制事件有时不会启动。我需要一种更可靠的方法来做这件事。。

欢迎提出任何建议!

全局禁用WPF窗口的键盘

默认情况下,箭头键不被视为输入键。因此,他们仍然可以滚动浏览窗口上的控件。要更改此行为,您可以订阅PreviewKeyDown事件(http://msdn.microsoft.com/en-us/library/system.windows.uielement.previewkeydown.aspx)并设置PreviewKeyDownEventArgs.IsInputKey = true;,请参见http://msdn.microsoft.com/en-us/library/system.windows.forms.previewkeydowneventargs.isinputkey.aspx.然后,箭头键也将调用其他键事件处理程序作为KeyDown