全局禁用WPF窗口的键盘

时间:2013-08-07 07:31:29

标签: c# wpf events .net-4.0

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

事情是,我需要箭头键来控制,所以我在MainWindow级别添加了一个KeyEventHandler,并添加了另一个UI元素,如Tab Items,Textbox,以便在获得焦点时忽略Input。 我最终得到了一个非常好的控制。我仍然可以浏览,例如通过标签项,控制事件有时不会触发。我需要一种更可靠的方法来做这件事。

任何建议表示赞赏!

1 个答案:

答案 0 :(得分:0)

默认情况下,箭头键不被视为输入键。因此,它们仍然滚动窗口上的控件。要更改此行为,您可以订阅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