Я пытаюсь добавить пункты меню в элемент управления NavigationView через мой код позади.
XAML:
<ct:NavigationView x:Name="NavMain" ItemInvoked="NavMain_ItemInvoked">
<ct:NavigationView.MenuItems>
<ct:NavigationViewItem Content="Home"/>
</ct:NavigationView.MenuItems>
</ct:NavigationView>
C #:
private void RenderMenu()
{
NavMain.MenuItems.Add(new NavigationViewItemSeparator());
foreach (TarotSuit suit in deck.Suits)
{
// make a nav menu item for the suit
NavigationViewItem newMenu = new NavigationViewItem();
newMenu.Content = suit.Suit;
newMenu.Icon = new SymbolIcon(Symbol.OutlineStar);
NavMain.MenuItems.Add("menu");
}
}
Меню отображается, но похоже, что добавленный NavigationViewItem устанавливается как контент автоматически сгенерированного NavigationViewItem, поэтому дерево XAML и отображаемое меню выглядят так (слишком много отступов на левая сторона из-за этого):
Пример кода в документации Microsoft использует тот же синтаксис, который я использую.
Если я использую строку, элемент меню отображается правильно, но тогда я не могу легко установить какие-либо свойства элемента меню. Я знаю, что могу перебирать элементы, чтобы настроить каждый из них, но похоже, что он должен отображаться правильно.
Я что-то не так делаю или это ошибка в элементе управления?