【发布时间】:2015-11-16 13:42:31
【问题描述】:
我已经查看并尝试自己解决这个问题,但我已经坚持了一段时间,我想知道是否可以在 WPF 中更改菜单项的背景颜色?我已经在 menuitems 上尝试了alternatecount,并尝试根据它更改背景颜色,但没有任何反应。我知道我可以对菜单项的背景颜色进行硬编码,但我的菜单是动态的,并且在我使用 MVVM 模式绑定它们时会发生变化。如果有人知道如何做到这一点,任何帮助将不胜感激。
谢谢
【问题讨论】:
我已经查看并尝试自己解决这个问题,但我已经坚持了一段时间,我想知道是否可以在 WPF 中更改菜单项的背景颜色?我已经在 menuitems 上尝试了alternatecount,并尝试根据它更改背景颜色,但没有任何反应。我知道我可以对菜单项的背景颜色进行硬编码,但我的菜单是动态的,并且在我使用 MVVM 模式绑定它们时会发生变化。如果有人知道如何做到这一点,任何帮助将不胜感激。
谢谢
【问题讨论】:
您可以使用样式更改它。就在你的Menu.Resources 下:
<Style TargetType="MenuItem">
<Setter Property="Background" Value="SkyBlue" />
</Style>
编辑:您可以使用AlternationCount 来实现:
<Menu AlternationCount="2">
<Menu.ItemContainerStyle>
<Style TargetType="MenuItem">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="Red"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="Blue"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</Menu.ItemContainerStyle>
<MenuItem Header="qwe" />
<MenuItem Header="qwe" />
<MenuItem Header="qwe" />
<MenuItem Header="qwe" />
<MenuItem Header="qwe" />
</Menu>
【讨论】: