我正在使用WindowsTemplateStudio
,由于某种原因,我必须修改导航菜单MainPage.xaml.cs
,例如删除或添加一些项目。怎么做?谢谢。
问问题
35 次
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 回答