WPF/MVVM菜单项的备用背景颜色

本文关键字:备用 背景 颜色 菜单项 MVVM WPF | 更新日期: 2023-09-27 18:09:22

我已经看了,并试图弄清楚自己,但我一直在这一段时间了,我想知道是否有可能在WPF中替换菜单项的背景颜色?我已经尝试了菜单项上的替代帐户,并试图改变背景颜色的基础上,但什么也没有发生。我知道我可以硬编码菜单项的背景颜色,但我的菜单是动态的和变化的,因为我使用MVVM模式来绑定它们。如果有人知道如何做到这一点,任何帮助将不胜感激。

谢谢

WPF/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>