0

我正在使用 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

在此处输入图像描述

4

1 回答 1

1

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

<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));
于 2019-04-29T08:29:03.430 回答