根本无法让键盘加速器工作

2023-12-22

我也已将这个问题发布到 Microsoft 的文档here https://learn.microsoft.com/en-us/windows/uwp/design/input/keyboard-accelerators#custom-keyboard-accelerator-behavior.

我正在尝试在 UWP 应用程序中实现访问键和键盘加速器,据我所知,这是“良好的编码实践”。这是 MainPage.xaml 中的一个片段,我尝试在其中实现“Ctrl+O”的“打开”快捷键

<MenuFlyoutItem Text="Open" AccessKey="O" Click="menuFileOpen">
   <MenuFlyoutItem.KeyboardAccelerators>
        <KeyboardAccelerator Modifiers="Control" Key="O" Invoked="menuFileOpen"/>
   </MenuFlyoutItem.KeyboardAccelerators> 
</MenuFlyoutItem>

MainPage.xaml.cs 内部是以下代码片段:

    /// <summary>
    /// Menu option to select a file
    /// </summary>
    private void menuFileOpen(object sender, RoutedEventArgs e)
    {
        this.OpenFile();
    }

    /// <summary>
    /// Keyboard Accelerator to select a file
    /// </summary>
    private void menuFileOpen(KeyboardAccelerator sender, KeyboardAcceleratorInvokedEventArgs args)
    {
        this.OpenFile();
        args.Handled = true; // because the docs say to do this
    }

    /// <summary>
    /// Opens the dialog box to select a file.
    /// </summary>
    private void OpenFile()
    {
        // TODO: write the code to open the file
        throw new NotImplementedException();
    }

出于调试目的,由于遇到问题,我实际上尚未实现打开文件的代码。应该发生的事情是,当我从菜单中选择“打开”时,我应该在调试器中收到“NotImplementedException”,并且程序应该停止。

简而言之,用鼠标选择弹出菜单项会引发异常。使用访问键也会引发异常。然而,按下键盘加速键没有任何作用!它不会进入“Invoked”方法(上面的第二个方法签名),所以我什至无法放置一个断点来查看该方法是否完全命中......我很确定它没有命中t!

我尝试过的:

  • 重命名方法以赋予它们唯一的名称
  • 在 XAML 文件中的 KeyboardAccelerator 标记上添加“IsEnabled”属性,并将其设置为 true。

非常感谢任何帮助。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根本无法让键盘加速器工作 的相关文章

随机推荐

  • 如何将输出参数传递给存储过程?

    我编写了一个存储过程 格式如下 ALTER PROCEDURE usp data migration sourceDatabase varchar 50 sourceTable varchar 50 targetDatabase varch
  • 登录后 MVC 重定向

    我有一个 AccountController 用户可以在其中登录 还有一个名为 Admin 的区域 用户必须被授权才能查看 当用户使用正确的用户名和密码登录时 它会再次重定向到同一页面 Account Login ReturnUrl 2FA
  • 使用 Maven-3 使用 archiva 重新部署时出现 Http 409 错误

    我正在将 jar 文件部署到 Maven 存储库 archiva pom xml
  • 如何在Ocaml中快速将树结构打印成字符串?

    假设我在 OCaml 中有一个 树 形式的数学表达式 它被表示为如下的代数类型 type expr Number of int Plus of expr expr 嗯 这是一个very简化的定义 但足以描述问题 我想将其转换为逆波兰表示法的
  • 使用 Django Forms 来显示和编辑?

    我正在研究如何在 Django 中最好地创建可用于显示或编辑数据的 HTML 页面 也就是说 我希望字段的值在显示模式下显示为文本 但在编辑 添加模式下显示在其小部件中 看来 Django 的设计初衷并不是这样做 这些字段总是出现在它们的小
  • 如何在 iPhone 中以编程方式获取应用程序的存储大小

    I want to get the Storage Sizes of each Applications in iPhone through objective C Any one help to get like this 假设您正在为越
  • C++.Net 程序集可以轻松反编译吗?

    我知道所有程序集都可以以某种方式反编译 但 C 和 VB 应用程序最容易使用 Net Reflector 等工具反编译为源代码 所以我的问题是 如果我使用 C 的 Net 程序集和函数来编写应用程序 是否可以轻松反编译它 就好像它是带有 N
  • 将应用程序从 Carbon 迁移到 Cocoa

    我正在开发一个应用程序 需要将其整个代码从carbon迁移到cocoa 我在大学期间和实习期间有C C python和Java编程经验 但从未接触过Objective C或做过在此之前的任何 Mac Carbon 和 Cocoa 编程 那么
  • 适用于 iOS 的 GA 和自定义尺寸

    我们在 iOS 应用程序中设置了 Google Analytics 该应用程序发送供应商标识符以区分报告中的用户 这是我们所做的 在 Google Analytics 中 我们设置了一个自定义维度 如下所示 名称 用户标识符 范围 用户 主
  • OpenXML 电子表格中的单元格样式 (SpreadsheetML)

    我已使用 OpenXML SDK 在 C 中生成了一个 xlsx 电子表格 但无法弄清楚如何使单元格样式正常工作 我一直在研究 Excel 生成的文件 但不太明白它是如何完成的 现在 我正在创建一个填充 创建一个CellStyleForma
  • DOCTYPE 影响行高的渲染

    这是一个令人头疼的问题 我创建了一个带注释的 jsFiddle 来演示我最近在使用 Twitter 的 Bootstrap 框架创建一些下拉按钮时遇到的现象 http jsfiddle net jackwanders WKvPv http
  • 使用 Ruby 反转字符串每两个字符

    我想用 Ruby 反转每两个字符的字符串 输入 0123456789abcdef 我期望的输出 efcdab8967452301 我不确定这是否是最好的方法 0123456789abcdef scan reverse join efcdab
  • 无法在 Windows 10 上打开 Xamarin Studio

    我已按照此视频中的步骤在没有 Visual Studio 的情况下安装 xamarin studio 如何在Windows中安装Xamarin Studio https www youtube com watch v FGYTrTz Fgg
  • 如何将静态库嵌入到共享库中?

    在Linux上 我试图创建一个共享库libbar so 它嵌入了一个商业静态库 许可很好 商业库有4个版本 libfoo seq a libfoo mt a libfoo seq so和libfoo mt so 它们都提供相同的符号 只是代
  • 私有类与公共方法?

    这是一段代码 private class myClass public static void Main or private class myClass public void method 我知道 第一个行不通 第二个会的 但为什么首先
  • 常量字符串/字符串文字的生命周期如何工作?

    我读了官网教程 https doc rust lang org stable book first edition lifetimes html我对常量字符串 字符串文字的生命周期有一些疑问 当我编写以下代码时出现错误 fn get str
  • React bootstrap 轮播不工作

    我正在尝试使用react bootstrap 创建一个简单的轮播 这是我试图创建的简单的不受控制的轮播 https react bootstrap github io components carousel https react boot
  • 如何对包含文件大小数据的列表视图列进行排序? C#

    我想对 ListView 列中的项目进行排序 我已经做到了 但是 我无法使用列中的数据类型进行排序 见图 有人知道如何做到这一点吗 为排序函数编写一个自定义比较器 如下所示
  • 设计帐户解锁返回“解锁令牌无效”

    我有一个标准设备实现 除了帐户解锁外 一切正常 锁定工作正常 我可以使用以下命令在控制台中解锁帐户unlock access 我还可以使用以下方式找到该帐户User find by unlock token 然而 UnlocksContro
  • 根本无法让键盘加速器工作

    我也已将这个问题发布到 Microsoft 的文档here https learn microsoft com en us windows uwp design input keyboard accelerators custom keyb