每当我将一个DataTemplate附加到一个MenuItem时,每个生成的菜单项都会在左侧获得一个额外的空间。这额外的空间看起来像我使用的支票预留的空间一样宽。无需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>
更多信息:https://github.com/fluentribbon/Fluent.Ribbon/issues/ 188 – juFo 2016-05-09 12:54:24
并参见:http://stackoverflow.com/questions/19965464/wpf-menuitem-icon-in-the-wrong-place-when-using-data-template?rq=1 – juFo 2016-05-09 13:54:12