WPF How to change the listbox selected item text color when the list box loses focus
listbox, selecteditem, styles, wpf
Solution
I put this in a resource dictionary for an element containing the listbox:
<Style TargetType="ListBoxItem">
<Style.Resources>
<!--SelectedItem with focus-->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Blue"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="White"/>
<!--SelectedItem without focus-->
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Blue"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="White"/>
</Style.Resources>
</Style>
Notice also that in .Net 4.5 you have to ask for "old" behavior by setting
FrameworkCompatibilityPreferences.
AreInactiveSelectionHighlightBrushKeysSupported = false;
early in your program before any windows are created.
Problem
I've been searching for how to change the text color of a selected item in a list box that has lost focus. ``` <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/> <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Orange"/> ``` These three tags take care of most of the work, but my list box has a black background and when the control loses focus, the font turns to black. I found this list from another post SystemColor. Keys that gives a ton of possible options from this list and anything that seems remotely intuitive has not worked. Does anybody know the key that I need to change?