每当我将 DataTemplate 附加到 MenuItem 时,每个生成的菜单项都会在左侧获得一个额外的空间。这个额外的空间看起来和我使用的为支票预留的空间一样宽。在没有 DataTemplate 的情况下手动构建菜单不会增加这个额外的空间。作为一个额外的皱纹,如果我点击这个额外的空间,菜单项就会消失,但不会生成点击事件。我不知道为什么要添加这个额外的空间。有任何想法吗?
我的 xaml 代码再简单不过了:
带有所述额外空格的菜单:
<Menu>
<MenuItem Header="Enemies" ItemsSource="{Binding AvailableEnemyClasses}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding}">
</MenuItem>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
</Menu>
没有多余空格的菜单:
<Menu>
<MenuItem Header="Utilities" >
<MenuItem Header="Enemy01"/>
<MenuItem Header="Enemy02"/>
<MenuItem Header="Enemy03"/>
</MenuItem>
</Menu>