-1
A
回答
0
修改样式的菜单项(WPF)的是复杂得多,它似乎,因为相同的菜单项控制使用不同的模板取决于角色分配给每个菜单项:SubmenuItem,TopLevelHeader和子菜单标题。 使用菜单栏不应该有任何问题:如果需要,您可以像使用其他控件一样定义样式和模板。对于菜单项,尝试这样的事情:
<ControlTemplate x:Key="{x:Static MenuItem.SubmenuItemTemplateKey}" TargetType="{x:Type local:MyMmenuItem}">
...
</ControlTemplate>
<ControlTemplate x:Key="{x:Static MenuItem.TopLevelHeaderTemplateKey}" TargetType="{x:Type local:MyMenuItem}">
...
</ControlTemplate>
<ControlTemplate x:Key="{x:Static MenuItem.SubmenuHeaderTemplateKey}" TargetType="{x:Type local:MyMenuItem}">
...
</ControlTemplate>
以及不同的模板之间切换,我们将使用RoleProperty依赖属性,定义在我们的风格这些触发器:
<Style x:Key="MyMenuItemStyle" TargetType="{x:Type local:MyMenuItem}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Style.Triggers>
<Trigger Property="Role" Value="TopLevelHeader">
<Setter Property="Template" Value="{StaticResource {x:Static MenuItem.TopLevelHeaderTemplateKey}}"/>
</Trigger>
<Trigger Property="Role" Value="TopLevelItem">
<Setter Property="Template" Value="{StaticResource {x:Static MenuItem.TopLevelItemTemplateKey}}"/>
</Trigger>
<Trigger Property="Role" Value="SubmenuHeader">
<Setter Property="Template" Value="{StaticResource {x:Static MenuItem.SubmenuHeaderTemplateKey}}"/>
</Trigger>
<Trigger Property="Role" Value="SubmenuItem">
<Setter Property="Template" Value="{StaticResource {x:Static MenuItem.SubmenuItemTemplateKey}}"/>
</Trigger>
</Style.Triggers>
</Style>
我希望这对你的作品;当我遇到同样的问题时,它对我有用。
祝你好运,好的代码。
相关问题
- 1. WPF按钮样式
- 2. WPF按钮样式
- 3. WPF按钮textwrap样式
- 4. Wpf按钮样式不适用
- 5. WPF样式按钮MouseOver问题
- 6. 在右键单击样式WPF按钮
- 7. WPF按钮样式不显示文本
- 8. WPF - 使用DataTrigger的按钮样式中的动画
- 9. 应用CSS样式Asp.Net DataPager的下一首/上一个按钮
- 10. 在WPF中的所有窗口中应用按钮样式
- 11. WPF中的响应式样式菜单按钮
- 12. 触发一个按钮WPF
- 13. WPF ICommand一个按钮
- 14. 一个Commandhandler多的MenuItems
- 15. 按钮样式中的EventToCommand
- 16. IE中的按钮样式
- 17. Microsoft Outlook的样式按钮
- 18. 按钮样式禁用
- 19. WP7禁用按钮样式
- 20. HTML按钮样式
- 21. 按钮样式,css
- 22. Android按钮样式
- 23. IOS按钮样式
- 24. AppBar按钮样式
- 25. jeditable按钮样式
- 26. Xamarin按钮样式
- 27. CSS按钮样式
- 28. 如何让一个按钮更改两个样式表的
- 29. 调用样式上的onclick按钮
- 30. 用于按钮样式的CSS链接
这将是启动https://docs.microsoft.com/en-us/dotnet/framework/wpf/controls/menu-styles-and-templates的地方 – Ada