Wenn Sie ein DataTemplate für ein MenuItem verwenden, wird zusätzlicher Platz auf der linken Seite angezeigt.

Jedes Mal, wenn ich ein DataTemplate an ein MenuItem anhänge, erhält jedes generierte Menüelement einen zusätzlichen Platz auf der linken Seite. Dieser zusätzliche Platz ist genauso groß wie der Platz, der für den Scheck reserviert ist, den ich benutze. Das manuelle Erstellen eines Menüs ohne ein DataTemplate fügt diesen zusätzlichen Speicherplatz nicht hinzu. Wenn ich auf dieses zusätzliche Leerzeichen klicke, verschwindet der Menüpunkt, aber es wird kein Klickereignis generiert. Ich weiß nicht, warum es diesen zusätzlichen Raum hinzufügt. Irgendwelche Ideen?

Mein XAML-Code könnte nicht einfacher sein:

Menü mit den beschriebenen zusätzlichen Leerzeichen:

<Menu>
    <MenuItem Header="Enemies" ItemsSource="{Binding AvailableEnemyClasses}">
        <MenuItem.ItemTemplate>
            <DataTemplate>
                <MenuItem Header="{Binding}">
                </MenuItem>
            </DataTemplate>
        </MenuItem.ItemTemplate>
    </MenuItem>
</Menu>

Menü ohne zusätzliche Leerzeichen:

<Menu>
    <MenuItem Header="Utilities" >
        <MenuItem Header="Enemy01"/>
        <MenuItem Header="Enemy02"/>
        <MenuItem Header="Enemy03"/>
    </MenuItem>
</Menu>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage