WPF學習筆記——設定ListBox選中項的背景顏色
阿新 • • 發佈:2018-12-20
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>
這裡設定觸發器其實與選中沒有關係,但還是可以用於設定滑鼠滑過的樣式。