【问题标题】:Detect left/right arrow click - Desktop App Windows 8.1检测左/右箭头单击 - 桌面应用程序 Windows 8.1
【发布时间】:2015-01-06 02:04:20
【问题描述】:

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

有没有办法做到这一点?

【问题讨论】:

    标签: winrt-xaml windows-8.1


    【解决方案1】:

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

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

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

    您应该注意到 VirtualKey.Left 和 VirtualKey.Right 在 VirtualKeys 枚举中是显式的。这意味着检查它们应该是同步的。我认为这应该是完成这项工作所需的全部内容。随意复制您可以从该类中使用的任何代码。

    祝你好运!

    【讨论】:

    • 是的,它就像一个魅力 :) 我只是使用事件来做我想要的左箭头或右箭头
    • 感谢您的示例代码。但是当用户按下左键时如何从另一个页面使用它?请用一些代码解释一下
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多