Windows UI 库 - 如何调用 NavigationView.MenuItems 动态添加

Windows UI Library - how to invoke NavigationView.MenuItems added dynamically

我正在使用 windows ui 库和 windows 模板工作室。目前,winui:NavigationView.MenuItems 已添加到 xaml 中。

    <winui:NavigationView>
        <winui:NavigationView.MenuItems>
            <winui:NavigationViewItem x:Uid="Shell_Main" Icon="Home" helpers:NavHelper.NavigateTo="views:MainPage" />
        </winui:NavigationView.MenuItems>
        <Grid>
            <Frame x:Name="shellFrame" />
        </Grid>
    </winui:NavigationView>

现在我在 .cs 代码中添加了更多项目。

        for(int i = 0; i < 5; i++)
        {
            WinUI.NavigationViewItem navigationViewItem = new WinUI.NavigationViewItem();
            navigationViewItem.Content = "AAA " + i.ToString();
            navigationView.MenuItems.Add(navigationViewItem);
        }

如何编写代码,当我点击添加的项目时,应用程序导航到相关页面。 相关的回购协议是 here.

windows 模板工作室的默认配置是为每个 NavigationViewItem 应用附加的 属性(helpers:NavHelper.NavigateTo)。

<winui:NavigationViewItem x:Uid="Shell_Main" Icon="Document" helpers:NavHelper.NavigateTo="views:MainPage" />

因此,如果您想在代码隐藏中创建 NavigationViewItem,您仍然需要为每个 NavigationViewItem 应用附加的 属性,如下所示:

WinUI.NavigationViewItem navigationViewItem = new WinUI.NavigationViewItem();
navigationViewItem.Content = "AAA " + i.ToString();
navigationViewItem.SetValue(NavHelper.NavigateToProperty, typeof(Views.APage));