我有这个奇怪的问题。 我做了一个应用程序,必须对键盘键(1,2,3,4,...)作出反应,但事实并非如此。 嗯,实际上它确实如此,但只有当我点击一个按钮并按住它时,如果我让它去按键,再次停止反应。
我使用的方法是KeyDown
,它放在Page
KeyDown="Page_KeyDown"
并在代码中:
private void Page_KeyDown(object sender, KeyRoutedEventArgs e)
{
switch (e.Key)
{
case Windows.System.VirtualKey.Number1:
{
KeyDownHelper(1);
break;
}
}
...
}
它有很多案例,但它们都是相同的,我想问题不在方法内部,而在于我的想法。
我认为问题是页面可能会失去焦点?但不确定是否是这种情况以及如何处理它
答案 0 :(得分:0)
听起来你希望你的应用程序能够监听单个按键,而不是只是当按下键时,是吗?在这种情况下,您应该响应Key Up事件。这样,您就可以对每个按键进行反应,并忽略按下按键的时间。
以下是关于Key Up:Key Up MSDN Article
的MSDN文章的链接这有帮助吗?
答案 1 :(得分:0)
我认为您正在寻找CoreDispatcher.AcceleratorKeyActivated API。 供您参考CoreDispatcher.AcceleratorKeyActivated