Ilekroć dołączam DataTemplate do MenuItem, każdy wygenerowany element menu otrzymuje dodatkowe miejsce po lewej stronie. Ta dodatkowa przestrzeń wygląda tak szeroko, jak miejsce zarezerwowane na czek, którego używam. Ręczne tworzenie menu bez DataTemplate nie dodaje tej dodatkowej przestrzeni. Jako dodatkowa zmarszczka, jeśli kliknę tę dodatkową przestrzeń, element menu zniknie, ale nie wygeneruje żadnego zdarzenia kliknięcia. Nie wiem, dlaczego dodaje tę dodatkową przestrzeń. Jakieś pomysły?Korzystanie z DataTemplate dla MenuItem powoduje pojawienie się dodatkowego miejsca po lewej stronie?
mój kod XAML nie może być bardziej prostsze:
Menu z opisanych dodatkowych pomieszczeń:
<Menu>
<MenuItem Header="Enemies" ItemsSource="{Binding AvailableEnemyClasses}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding}">
</MenuItem>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
</Menu>
Menu bez spacji:
<Menu>
<MenuItem Header="Utilities" >
<MenuItem Header="Enemy01"/>
<MenuItem Header="Enemy02"/>
<MenuItem Header="Enemy03"/>
</MenuItem>
</Menu>
więcej info: https://github.com/fluentribbon/Fluent.Ribbon/issues/ 188 – juFo
i zobacz także: http://stackoverflow.com/questions/19965464/wpf-menuitem-icon-in-the-wrong-place-when-using-data-template?rq=1 – juFo