在一项的MouseOver上,需要更改其他项的颜色

时间:2018-08-30 06:07:23

标签: wpf triggers

想要以下两种情况: 1.所有项目的默认颜色均为绿色
2.鼠标悬停时,该项目应仅应为绿色,而其他所有项目应同时变为黄色。

<ListView Name="ListViewDisplay" Grid.Row="1" ItemsSource="{Binding ListItems}" Background="Green" >
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="Background" Value="Green"/>
             <Style.Triggers>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="IsMouseOver" Value="True" />
                    </MultiTrigger.Conditions>
                    <MultiTrigger.Setters>
                        <Setter Property="Background" Value="Green" />
                    </MultiTrigger.Setters>
                </MultiTrigger>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="IsMouseOver" Value="False" />
                    </MultiTrigger.Conditions>
                    <MultiTrigger.Setters>
                        <Setter Property="Background" Value="Yellow" />
                    </MultiTrigger.Setters>
                </MultiTrigger>
            </Style.Triggers>
        </Style>
    </ListView.ItemContainerStyle>
</ListView>

使用此代码,所有项目始终为黄色。

0 个答案:

没有答案