Если вы создали Navigation Pane
через WindowsTemplateStudio , вы можете найти NavigationView
в Views/ShellPage.xaml
, где вы можете добавить NavigationViewItem
.
В NavigationViewItem
, x:Uid
указывает на текстовый ресурс в Strings/en-us
.
При необходимости вы также можете добавить ярлыки в ShellPage.xaml.cs.
Обновление
Если вы хотите изменить NavigationView
в ShellPage на других страницах, вам нужно проделать дополнительную работу.
- Установите для свойства NavigationView
x:FieldModifier
значение Public
<winui:NavigationView
x:Name="navigationView"
x:FieldModifier="Public"
...>
</winui:NavigationView>
Создать статический экземпляр
ShellPage
public static ShellPage Current;
public ShellPage()
{
InitializeComponent();
DataContext = this;
Current = this;
Initialize();
}
Завершите работу NavigationView с помощью
ShellPage.Current.navigationView
foreach (var item in ShellPage.Current.navigationView.MenuItems)
{
var navItem = item as NavigationViewItem;
// Todo
}
Конечно, таким способом можно напрямую достичь цели. Но для сравнения я предпочитаю использовать Binding, генерировать MenuItems, создавая ObservableCollection<T>
и привязывать к navigationView.MenuItemsSource
.
С уважением.