我正在使用WindowsTemplateStudio,由于某种原因,我必须修改导航菜单MainPage.xaml.cs,例如删除或添加一些项目。怎么做?谢谢。
1 回答
1
如果您是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,通过创建ObservableCollection<T>和绑定来生成MenuItems navigationView.MenuItemsSource。
此致。
于 2019-10-08T02:33:03.290 回答