好的,我们有一个最近的文件菜单选项。我们使用MVVM对MenuItem条目进行数据绑定,并提供DisplayMemberPath。但是WPF会转义字符串,因此下划线显示为下划线而不是accesskey
<MenuItem x:Name="RecentScripts" DisplayMemberPath="Caption" Header="Recent _Files" cal:Message.Attach="OpenRecentScript($orignalsourcecontext)">
<MenuItem.Icon>
<Image Source="{StaticResource IconOpen}"/>
</MenuItem.Icon>
</MenuItem>
我们也有自定义主题,但MennuItem的禁用样式没有帮助 https://github.com/AndersMalmgren/FreePIE/blob/recet_files_shortcut/FreePIE.GUI/Themes/ExpressionDark.xaml#L1921
答案 0 :(得分:2)
用ItemTemplate替换DisplayMemberPath。与解释here DisplayMemeberPath
一样单个属性的模板,显示在TextBlock
中
正如@XAMlMAX所说,TextBlock不支持AccessText,而Label则支持AccessText。
<MenuItem x:Name="RecentScripts" Header="Recent _Files" cal:Message.Attach="OpenRecentScript($orignalsourcecontext)">
<MenuItem.Icon>
<Image Source="{StaticResource IconOpen}"/>
</MenuItem.Icon>
<MenuItem.ItemTemplate>
<DataTemplate>
<Label Content="{Binding Caption}"/>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>