0

我正在使用WindowsTemplateStudio,由于某种原因,我必须修改导航菜单MainPage.xaml.cs,例如删除或添加一些项目。怎么做?谢谢。

4

1 回答 1

1

如果您是Navigation Pane通过WindowsTemplateStudio创建的,您可以NavigationViewViews/ShellPage.xaml其中找到可以添加NavigationViewItem.

在 中NavigationViewItemx:Uid指向 中的文本资源Strings/en-us

如有必要,您还可以在 ShellPage.xaml.cs 中添加快捷方式。


更新

如果要修改NavigationView其他页面上的ShellPage,则需要做一些额外的工作。

  1. 将 NavigationView 的x:FieldModifier属性设置为Public
<winui:NavigationView
    x:Name="navigationView"
    x:FieldModifier="Public"
    ...>
</winui:NavigationView>
  1. 创建一个静态实例ShellPage
public static ShellPage Current;

public ShellPage()
{
    InitializeComponent();
    DataContext = this;
    Current = this;
    Initialize();
}
  1. 通过完成NavigationView的操作ShellPage.Current.navigationView
foreach (var item in ShellPage.Current.navigationView.MenuItems)
{
    var navItem = item as NavigationViewItem;
    // Todo
}

当然,这种方式可以直接达到目的。但相比之下,我更喜欢使用Binding,通过创建ObservableCollection<T>和绑定来生成MenuItems navigationView.MenuItemsSource

此致。

于 2019-10-08T02:33:03.290 回答