menuItem.InputGestureText 不显示快捷方式文本
本文关键字:快捷方式 文本 显示 InputGestureText menuItem | 更新日期: 2023-09-27 18:16:53
在我的应用程序中,我正在代码中创建菜单项。这是创建菜单项的代码
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"
仅当MenuItem
不是Menu
的直接子级(即不直接在Items
集合内(时,InputGestureText
才有效。如果想看InputGestureText
,需要将MenuItem
添加到另一个MenuItem
的Items
集合中。为了说明我所说的内容,下面是 XAML 中的一个示例。
<Menu>
<MenuItem Header="File" InputGestureText="Ctrl+Z">
<MenuItem InputGestureText="Ctrl+C" Header="Open"></MenuItem>
</MenuItem>
</Menu>
MenuItem
(标头 ="文件"(的InputGestureText
不可见,但MenuItem
(标头="打开"(的可见。
这是我用来设置用户界面样式的库(材料设计库(的问题。我已经报告了这个问题,它已修复。