我有一些contextMenu,它显示了对象列表。 我的问题是当其中一个对象以下划线(“_”)开头时,例如:_obj1, 结果是没有下划线显示的小精灵:obj1“。
有什么想法吗?
答案 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. 试试这个,你就会理解。