我尝试捕获任何KeyDown
事件,无论哪个项目具有焦点。我的构造函数中有以下代码:
Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
我的功能在这里:
void CoreWindow_KeyDown(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.KeyEventArgs args)
{
//Stuff in here
}
这适用于常规键(箭头,字母)但不接收特殊键的事件(例如 Enter 或 Tab )。
如何拦截 Enter 或 Tab 按键的事件并阻止系统处理它?无论焦点是什么对象,我都需要一直得到这个事件。
答案 0 :(得分:0)
处理密钥的过程非常复杂。 KeyDown实际上在这个过程中很晚,并且不包括“控制”键。要获取这些键,您需要覆盖IsInputKey(对于Tab键和控制键)或ProcessDialogKey(对于箭头键)。请在此处查看一些优秀文档https://msdn.microsoft.com/en-us/library/vstudio/ms171535%28v=vs.100%29.aspx