Wpf MenuItem标题以开头_

Wpf MenuItem标题以开头_,wpf,header,menuitem,Wpf,Header,Menuitem,我有一些显示对象列表的上下文菜单。 我的问题是当其中一个对象以下划线(j1)开头时,例如:obj1, 结果是显示的mentitem没有下划线:obj1” 有什么想法吗?我通过更改标题模板来修复它 <Style TargetType="{x:Type MenuItem}"> <Setter Property="HeaderTemplate"> <Setter.Value> <DataTemplat

我有一些显示对象列表的上下文菜单。 我的问题是当其中一个对象以下划线(j1)开头时,例如:obj1, 结果是显示的mentitem没有下划线:obj1”


有什么想法吗?

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

<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>

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

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

例如,当您编写以下内容时:

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

然后您只会看到带有“File”的菜单,但您可以在单击此菜单项时使用ALT+F。 试试这个,你就会明白