我已经看过并试图自己解决这个问题,但我现在已经坚持了一段时间了,我想知道是否有可能在WPF中交替使用menuitem的背景颜色?我已经在菜单项上尝试了alternatecount并试图根据它改变背景颜色,但没有任何反应。我知道我可以硬编码菜单项的背景颜色,但我的菜单是动态的,并且随着我使用MVVM模式绑定它们而改变。如果有人知道如何做到这一点,任何帮助将不胜感激。
由于
答案 0 :(得分:5)
你可以用一种风格来改变它。就在您的 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>