menuItem.InputGestureText 不显示快捷方式文本

menuItem.InputGestureText not showing shortcut text

在我的应用程序中,我正在用代码创建菜单项。这是创建菜单项的代码

public MenuItem getMenuItem(string toolTip, string menuTitle, Uri menuIconUri, int? tagOnlyForHeaders, string shortCutKeyText ="")
    {
        MenuItem menuItem = new MenuItem
        {
            ToolTip = toolTip,
            Header = menuTitle
        };
        if (menuIconUri != null)
        {
            menuItem.Icon = new Image
            {
                Source = new BitmapImage(menuIconUri)
            };
        }
        if (tagOnlyForHeaders != null) {
            menuItem.Tag = tagOnlyForHeaders;
        }

        if (shortCutKeyText != "") {
            menuItem.InputGestureText = shortCutKeyText;
        }
        return menuItem;
    }

但是如果我为 ctrl+n 这样的输入手势传递值,当应用程序处于 运行 时,它不会在菜单项中显示快捷方式文本。这段代码有什么问题。任何人都可以告诉这个解决方案。

这是我添加菜单项的方式

//Top level Op menu
        var opMenuItem = utils.getMenuItem("OP", MenuName, null, 0);

        //op registration
        var RegistrationMenuItem = utils.getMenuItem("New Registration", "New Registration",
            new Uri(baseIconUri + "newRegistration.png"), null,"ctrl+n ");
        opMenuItem.Items.Add(opRegistrationMenuItem);
        return opMenuItem;

并将其添加到主菜单中

mainMenu.Items.Add(menuItem); // in this case the "opMenuItem"

InputGestureText 仅在 MenuItem 而不是 Menu 的直接 child 时有效(即不直接Items collection 内)。如果要查看 InputGestureText,则需要将 MenuItem 添加到另一个 MenuItemItems collection。为了说明我所说的,这里有一个 XAML 中的例子。

<Menu>
    <MenuItem Header="File" InputGestureText="Ctrl+Z">
        <MenuItem InputGestureText="Ctrl+C" Header="Open"></MenuItem>
    </MenuItem>
</Menu>

MenuItem (Header = "File) is not visible but that of MenuItem (Header="Open") 的 InputGestureText 可见。

这是我用来设置用户界面样式的库 (Material design library) 的问题。我已经报告了这个问题,它已经解决了。