MenuItem标题以_开头

时间:2013-08-13 15:29:35

标签: wpf header menuitem

我有一些contextMenu,它显示了对象列表。 我的问题是当其中一个对象以下划线(“_”)开头时,例如:_obj1, 结果是没有下划线显示的小精灵:obj1“。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我通过更改标题模板来修复它。

<Style TargetType="{x:Type MenuItem}">
     <Setter Property="HeaderTemplate">
          <Setter.Value>
               <DataTemplate>
                    <TextBlock Text="{Binding Header, RelativeSource= {RelativeSource Mode=FindAncestor,    AncestorType={x:Type MenuItem}}}" />
               </DataTemplate>
          </Setter.Value>
     </Setter>
</Style>

答案 1 :(得分:0)

我认为在使用下划线开始名称时,您可能会错过wpf提供的功能。

当您使用_obj1时,您将菜单时间显示为obj1,但是您应该尝试按ALT然后您将看到obj1“带下划线”并且您可以使用ALT + o(obj名称的第一个字符)来“按” “不使用鼠标的菜单项。

例如,当你写这个:

<MenuItem Header="_File">
    <MenuItem .../>
</MenuItem>

然后你只看到带有“文件”的菜单,但是当你点击这个MenuItem时你可以使用ALT + F. 试试这个,你就会理解。