WPF: Disparador para ListBoxItem.IsSelected não funciona para a propriedade Background

Tento alterar oBackground propriedade para o meuListBoxItems usando gatilhos noItemContainerStyle do meuListBox do seguinte modo

    <ListBox Height="100" HorizontalAlignment="Left" Margin="107,59,0,0" Name="listBox1" VerticalAlignment="Top" Width="239">
        <ListBox.ItemContainerStyle>
            <Style TargetType="{x:Type ListBoxItem}">
                <Setter Property="Background" Value="Lightblue"/>
                <Style.Triggers>
                    <Trigger Property="IsSelected" Value="true">
                        <Setter Property="Background" Value="Red"/>
                    </Trigger>
                    <Trigger Property="IsMouseOver" Value="true">
                        <Setter Property="Background" Value="Yellow"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </ListBox.ItemContainerStyle>
        <ListBox.Items>
            <ListBoxItem Content="First Item"/>
            <ListBoxItem Content="SecondItem"/>
            <ListBoxItem Content="Third Item"/>
        </ListBox.Items>
    </ListBox>

Espero que os itens não selecionados tenham um plano de fundo azul claro, os itens pairados (ou seja, quando o cursor do mouse está sobre eles) sejam amarelos e os itens selecionados sejam vermelhos.

Para os itens não selecionados e pairados, isso está funcionando conforme o esperado, mas os itens selecionados ainda têm a cor de fundo padrão (ou seja, azul, se a caixa de listagem tiver foco e cinza claro, caso contrário).

Há algo que eu estou perdendo? Esse comportamento está documentado em algum lugar?

Obrigado por qualquer dica!

EDITA

Estou ciente da solução de substituir as cores padrão do sistema (conforme descrito emAltere o estilo de caixa de listagem selecionado e sem foco para não ficar acinzentado, obrigada mesmo assim por todos que postaram isso como resposta). No entanto, não é isso que eu quero fazer. Estou mais interessado em saber por que minha solução não funciona.

Estou suspeitando do padrãoControlTemplate doListItem definir seus próprios gatilhos que parecem ter precedência sobre os gatilhos definidos pelo estilo (talvez alguém possa confirmar isso e me indicar algum recurso em que esse comportamento seja definido

minha solução, entretanto, é definir umControlTemplate para o meuListItems como:

        <ListBox.ItemContainerStyle>
            <Style TargetType="{x:Type ListBoxItem}">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="ListBoxItem">
                            <Border Name="Border" Padding="2" SnapsToDevicePixels="true" Background="LightBlue" Margin="0">
                                <ContentPresenter/>
                            </Border>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsSelected" Value="true">
                                    <Setter TargetName=",Border" Property="Background" Value="Red"/>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </ListBox.ItemContainerStyle>

questionAnswers(4)

yourAnswerToTheQuestion