Nie mogę ustawić koloru tła dla wybranego elementu w polu listy. Nie chcę zmieniać kolorów w tym przykładzie. Umieściłem je jako test i działają. Trigger IsSelected uruchamia się, gdy grubość czcionki zostanie pogrubiona, a na pierwszym planie - na czerwono. Ustawienie jasnego koloru pędzla w SteelBlue nie osiąga pożądanego efektu, ponieważ znika, gdy ListBox traci ostrość. Czerwony i pogrubiony utrzymuje się, gdy ListBox traci ostrość i jest tym, czego chcę. Chcę, aby kolor tła zabrał i przytrzymał dla wybranego elementu. W tej chwili tło dla wybranych elementów jest białe i zachowuje się, gdy ListBox traci ostrość. Dziękuję za pomoc, a ja przetestuję proponowaną poprawkę.Ustawianie koloru tła dla wybranych elementów w ListBox
<ListBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="1" Name="WFEnum" Visibility="Visible" BorderThickness="2" Margin="1" Padding="2,2,7,2"
ItemsSource="{Binding Path=SearchItem.SrchWorkFlows}" HorizontalAlignment="Left"
PresentationTraceSources.TraceLevel="High" AlternationCount="2" >
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="VerticalContentAlignment" Value="Center" />
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="LightGreen"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="LightPink"></Setter>
</Trigger>
<Trigger Property="IsSelected" Value="True" >
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Background" Value="SteelBlue" />
<Setter Property="Foreground" Value="Red" />
</Trigger>
</Style.Triggers>
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
</Style.Resources>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name, Mode=OneWay}" Background="Transparent" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Warto nadmienić, że od 1/2015 nie ma to wpływu na zaznaczenie kolorów System.Windows.Controls.ListBox ze standardową kompozycją. Wyzwalacze pracują na pierwszym planie, ale nie w tle. Musisz zapamiętać ListBoxItem. –