WPF-Listbox und Alle auswählen

Ich möchte eine einfache ListBox erstellen und SelectAll als Kontextmenüelement verwenden. Es sieht jedoch so aus, als ob ListBox eine Art eingebaute Behandlung für SelectAll hat, mit der ich nicht arbeiten kann, die aber meinen Versuch behindert, SelectAll zu implementieren.

Mein gesamtes XAML ist das:

<code><Window x:Class="WpfApplication1.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">
    <Window.CommandBindings>
        <CommandBinding Command="ApplicationCommands.SelectAll"
                        Executed="SelectAllExecuted" />
    </Window.CommandBindings>
    <DockPanel>
        <CheckBox DockPanel.Dock="Top">My Checkbox</CheckBox>
        <ListBox Name="listBox" SelectionMode="Multiple">
            <ListBox.ContextMenu>
                <ContextMenu>
                    <MenuItem Command="ApplicationCommands.SelectAll" />
                </ContextMenu>
            </ListBox.ContextMenu>
        </ListBox>                
    </DockPanel>
</Window>
</code>

SelectAllExecuted sieht einfach so aus:

<code>private void SelectAllExecuted(object sender, ExecutedRoutedEventArgs e)
{
    listBox.SelectAll();
}
</code>

Strg + A funktioniert, wenn das Listenfeld nicht im Fokus steht. Der Kontextmenüpunkt funktioniert korrekt. Strg + A funktioniert jedoch nicht, wenn das Listenfeld fokussiert ist.

Ich habe das Gefühl, ich kämpfe gegen die Listbox, aber ich sollte es nicht brauchen.

Bearbeiten: Es scheint, meine gesamten Probleme sind mit dem Multiple SelectionMode. Wenn ich es auf Erweitert stelle, funktioniert alles, aber ich möchte es nicht im erweiterten Modus.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage