思路:触发器中原本是IsSeleted和IsMouseOver两种,悬停会将选中的覆盖掉,增加一个多触发器就可以了:同时选中和悬停才是绿色(可以理解成悬停还要加上选中才是绿色)
XML
<Style.Triggers>
<!-- 当IsSelected为True时,设置背景为Green -->
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Green" />
</Trigger>
<!-- 当IsMouseOver为True时,设置背景为#f4f6ee -->
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#f4f6ee" />
</Trigger>
<!-- 当同时满足IsSelected为True和IsMouseOver为True时,设置背景为绿色,覆盖上面的设置 -->
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="True" />
<Condition Property="IsMouseOver" Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Background" Value="Green" />
</MultiTrigger>
</Style.Triggers>