我们如何防止下划线被用作控制键指示器?

时间:2018-08-01 22:39:29

标签: c# wpf menu-items

我正在尝试添加一个菜单项,如下所示:

Items.Add(new MenuItem()
{
    Header = var_from_a_loop;
});

var_from_a_loop有一些下划线。说,var_from_a_loop =“ A_B_C_D”。运行时,该名称变为“ AB_C_D”,即删除第一个下划线。现在,我知道下划线被视为快捷键指示器(就像上面的意思是使用快捷键Ctrl + B),但是我想禁用它。我可以通过执行以下操作来显示整个字符串:

Header = "_" + var_from_a_loop

但是我正在寻找一个更好的解决方案,因为以上内容都是“ hacky”。​​

1 个答案:

答案 0 :(得分:0)

如果您要使用PREG_SPLIT_NO_EMPTY,可以使用以下模板来使其正常工作:

XAML

然后显示包含下划线的项目。如果您使用<ContextMenu x:Key="ContextMenu"> <MenuItem> <MenuItem.Header> <TextBlock>_Some text here</TextBlock> </MenuItem.Header> </MenuItem> </ContextMenu> 而不是Label,它将被视为快捷键。
仅出于示例的目的,将使用TextBlock来使用所说的ContextMenu。假设我们要向Style项添加上下文菜单:

ListView