每當我將一個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