检测左/右箭头单击 - 桌面应用程序Windows 8.1

时间:2015-01-05 12:55:25

标签: winrt-xaml windows-8.1

我正面临一个问题,我想在左/右箭头单击中更改listview中的数据。我将Key_Up和Key_Down事件添加到页面,但是当我按下按钮时都没有调用(在我看来这些事件只适用于输入类型字段)。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

您要做的事情比您预期的要复杂得多。单个控件上的关键事件根本不足以以可靠的方式为您提供所需的数据。相反,您需要在Core Dispatcher上处理Accelerator Key Activated事件。

要完成此任务,您可以先查看我的KeyboardHelper服务,以便了解如何处理键盘的基本知识。但助手没有办法处理箭头键。如果要处理箭头键,则需要添加一些自定义逻辑。

  
    

KeyboardHelper class http://xaml.codeplex.com/SourceControl/latest#MVA/201410_UniversalApp/Dispatchr.Client/Dispatchr.Client.Shared/Services/KeyboardService/KeyboardHelper.cs

  

您应该注意到VirtualKey.Lft和VirtualKey.Right在VirtualKeys枚举中是显式的。这意味着检查它们应该是同步的。我认为这应该是你需要的所有工作。您可以随意复制该类中可以使用的任何代码。

祝你好运!