【问题标题】:Is it possible to toggle a menu from keyboard input?是否可以从键盘输入切换菜单?
【发布时间】:2009-06-01 18:39:37
【问题描述】:

我正在为具有绑定到 F1-F10、Up、Down、Backspace、Enter 的物理按钮的特殊用途硬件构建一个类似于仪表板的应用程序。该应用程序由几个视图组成(使用 MVVM 模式实现),并且大多数用户交互都是通过在物理按钮附近对齐的菜单完成的。我试图通过按 F 键来切换菜单状态,但我就是无法让该死的东西工作!

我(有点成功)尝试了另一种解决方案,该解决方案捕获 F 键并将它们作为常规数字 1-10 发送,并使用 Accesskey 将 Alt+[1-10] 映射到菜单。这不是一个最佳解决方案,因为我必须跟踪菜单是否失去焦点(用户也可以使用触摸屏导航)。除此之外,我还尝试从 menuitem-header 中隐藏 accesskey-text(因为让它不可见似乎是不可能的)。

【问题讨论】:

    标签: c# wpf xaml menuitem key-bindings


    【解决方案1】:

    老实说,我只是制作一个常规窗口并根据需要隐藏/显示它 - 只需有一个 ItemsControl,其 DataTemplate 是一个 MenuItem。菜单以标准的“菜单”方式管理,因此很难覆盖它并手动管理隐藏/显示状态。

    【讨论】:

    • 我从另一个方向解决了这个问题,方法是从 MenuItem 派生一个类,该类在按下某个键时进行监听(可以从 XAML 中使用属性设置)。它似乎完全按照我的要求工作!非常感谢您的意见!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 2016-10-26
    • 2019-06-12
    • 2013-06-14
    • 2011-04-21
    • 2014-05-19
    相关资源
    最近更新 更多