1. 程式人生 > >WPF學習筆記——設定ListBox選中項的背景顏色

WPF學習筆記——設定ListBox選中項的背景顏色

               

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>
這裡設定觸發器其實與選中沒有關係,但還是可以用於設定滑鼠滑過的樣式。