ListBox的选中项,在我这个WIN7里面,是亮蓝色,颜色是如此之浓厚,差不多遮盖了前景的字体!
太不协调了。可是怎么设置呢?设置触发器,又是IsMouseOver,又是IsFocused,在谷歌里寻寻觅觅,无限的代码,无限的垃圾,无限的不知所谓。
踏破铁鞋无觅处,偶然发现,应该这样写:
<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>
这里设置触发器其实与选中没有关系,但还是可以用于设置鼠标滑过的样式。