Wpf 鼠标悬停在一个项目上时,需要更改其他项目的颜色
需要以下两种方案: 1.所有项目的默认颜色均为绿色Wpf 鼠标悬停在一个项目上时,需要更改其他项目的颜色,wpf,triggers,Wpf,Triggers,需要以下两种方案: 1.所有项目的默认颜色均为绿色 2.鼠标悬停时,只有一个项目应为绿色,所有其他项目应同时变为黄色 <ListView Name="ListViewDisplay" Grid.Row="1" ItemsSource="{Binding ListItems}" Background="Green" > <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"&
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>
使用此代码时,所有项目始终为黄色。此尝试是否无效?否。使用此代码时,默认颜色为黄色。我需要它作为默认的绿色,在鼠标上它应该变为黄色。默认情况下,IsMouseOver将为False,因此,您将始终使用黄色作为起始颜色。在IsMouseOver False条件中放置绿色,将其作为默认值。默认情况下,wpf中的触发器将针对每个项单独计算。我是否有可能得到其他元素属性的触发器求值?