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
添加到另一个 MenuItem
的 Items
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) 的问题。我已经报告了这个问题,它已经解决了。
在我的应用程序中,我正在用代码创建菜单项。这是创建菜单项的代码
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
添加到另一个 MenuItem
的 Items
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) 的问题。我已经报告了这个问题,它已经解决了。