不同的系统 ,ListBox 选中项的背景颜色是有差异的,在Win7中,其背景颜色是蓝色的。有时候我们想更改其背景颜色,那么就可以通过以下代码实现:
<Style x:Key="UserItemContainerStyle" TargetType="ListBoxItem">
<Style.Resources>
<!--SelectedItem with focus-->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightBlue" Opacity=".4"/>
<!--SelectedItem without focus-->
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="LightBlue" Opacity=".4"/>
</Style.Resources>
<!-- 设置触发器 -->
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="#efefef"/>
<Setter Property="Foreground" Value="Red"/>
</Trigger>
<Trigger Property="IsFocused" Value="true">
<Setter Property="Background" Value="Coral"/>
<Setter Property="Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
将以上代码放在资源字典里,就可以设置其Style属性。