Khi người dùng nhấp vào một ListBoxItem, tôi muốn nó được một đậm lớn phông chữ màu đỏ nền vàngTại sao tôi không thể đặt màu nền của một ListBoxItem được chọn trong WPF?
Mọi thứ hoạt động trừ nền. Dường như có nền tiêu chuẩn (màu xanh dương) cho mục đã chọn. Làm cách nào để ghi đè và thay đổi màu nền đã chọn?
Đây là mã:
<Window x:Class="AlternateListBox2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300"
xmlns:local="clr-namespace:AlternateListBox2">
<Window.Resources>
<local:Countries x:Key="countries"/>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Content" Value="{Binding Path=Name}"/>
<Setter Property="Margin" Value="2"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Background" Value="Yellow"/>
<Setter Property="Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<StackPanel>
<ListBox
ItemsSource="{Binding Source={StaticResource countries}}"
Width="100"
Margin="10"
HorizontalAlignment="Left"
/>
</StackPanel>
</Window>
Không hoạt động trong .net 4.5, xem http://stackoverflow.com/questions/12710296/overriding-listboxitem-background-color-when-not-in-focus-net-4-5/12710338 –