首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将UWP NavigationView内容设置为页面将显示页面的类型名称

UWP(Universal Windows Platform)是微软推出的一种应用程序开发框架,用于创建适用于所有 Windows 10 设备的应用程序。NavigationView 是 UWP 中的一个控件,用于在应用程序中创建导航菜单。

将 UWP NavigationView 内容设置为页面将显示页面的类型名称,可以通过以下步骤实现:

  1. 在 XAML 中定义 NavigationView 控件,并设置其 PaneDisplayMode 属性为 Left 或 Top,以确定导航菜单的显示位置。
代码语言:txt
复制
<NavigationView x:Name="MyNavigationView" PaneDisplayMode="Left">
    <!-- 导航菜单项 -->
    <NavigationView.MenuItems>
        <NavigationViewItem Icon="Home" Content="首页" Tag="HomePage" />
        <NavigationViewItem Icon="Favorite" Content="收藏" Tag="FavoritesPage" />
        <NavigationViewItem Icon="Settings" Content="设置" Tag="SettingsPage" />
    </NavigationView.MenuItems>
    
    <!-- 页面内容区域 -->
    <Frame x:Name="MyFrame" />
</NavigationView>
  1. 在代码中处理导航菜单项的选择事件,根据选择的菜单项加载对应的页面。
代码语言:txt
复制
private void MyNavigationView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
{
    string tag = args.InvokedItemContainer.Tag.ToString();
    Type pageType = Type.GetType("YourAppName." + tag);
    MyFrame.Navigate(pageType);
}
  1. 在每个页面的代码中,重写 OnNavigatedTo 方法,以在页面加载时设置导航菜单项的选中状态和页面标题。
代码语言:txt
复制
protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    string pageName = this.GetType().Name;
    foreach (NavigationViewItemBase item in MyNavigationView.MenuItems)
    {
        if (item is NavigationViewItem && item.Tag.ToString() == pageName)
        {
            MyNavigationView.SelectedItem = item;
            break;
        }
    }

    // 设置页面标题
    MyNavigationView.Header = pageName;
}

这样,当用户选择导航菜单中的某个项时,页面内容区域将显示对应的页面,并在导航菜单中高亮显示选中项,并将页面标题设置为选中页面的类型名称。

在腾讯云的产品中,与 UWP 开发相关的产品包括云服务器、云数据库、云存储等。具体推荐的产品和产品介绍链接地址可以根据实际需求和场景进行选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

win10 uwp 如何使用DataTemplate 转换绑定Event到Command绑定 ObservableCollectionDataTemplate 绑定 ViewM

这是数据模板,一般用在数组的绑定,显示数组中的元素。 假如我们有一个列表,列表里是书,包括书名、作者、还有出版,那么我们只有源信息,如何把它显示到我们的ListView,就需要DataTemplate。 使用很简单,我们可以定义在资源,也可以定义在ItemTemplate。 数据模板有绑定的问题。 我们使用Binding和WPF其实没有多少不同,在Mode只有OneWay,OneTime,TwoWay。我们使用的x:bind在DataTemplate才和原来有一些不同。 我们使用x:bind需要我们对我们数据的类型,这个在前没有,我开始不知,弄了好久,最后才知道,还有一个,UWP默认是OneTime,也就是绑定只有一次。

02
领券