You need to enable JavaScript to run this app. 如何仅使用C#代码开发UWP平台的NavigationMenu导航菜单
优惠活动
大模型
产品
解决方案
定价
更多

如何仅使用C#代码开发UWP平台的NavigationMenu导航菜单

纯C#实现UWP标准侧边导航菜单
  • 以下实现全程不依赖XAML代码编写,最终渲染效果和公开教程中XAML实现的导航菜单样式完全一致,包含可折叠侧边面板、汉堡触发按钮、内置菜单项、主内容区的完整布局逻辑。

核心实现步骤

1. 初始化导航核心控件

在自定义页面的构造函数中直接实例化UWP内置的NavigationView控件,配置核心布局参数匹配参考样式:

// 直接实例化导航控件,不需要从XAML加载
var rootNavView = new NavigationView();
// 配置布局属性
rootNavView.PaneDisplayMode = NavigationViewPaneDisplayMode.Auto;
rootNavView.IsPaneToggleButtonVisible = true; // 显示左上角汉堡折叠按钮
rootNavView.OpenPaneLength = 200; // 展开状态侧边栏宽度
rootNavView.CompactPaneLength = 48; // 折叠状态侧边栏宽度
rootNavView.IsSettingsVisible = true; // 显示底部设置入口

2. 添加导航菜单项

在C#代码中逐一定义菜单条目,配置条目显示内容、图标、标识:

// 添加首页菜单项
var homeMenuItem = new NavigationViewItem()
{
    Content = "首页",
    Icon = new SymbolIcon(Symbol.Home),
    Tag = "home"
};
rootNavView.MenuItems.Add(homeMenuItem);

// 添加功能页菜单项
var functionMenuItem = new NavigationViewItem()
{
    Content = "核心功能",
    Icon = new SymbolIcon(Symbol.AllApps),
    Tag = "core"
};
rootNavView.MenuItems.Add(functionMenuItem);

3. 搭建主内容区域并绑定导航逻辑

在导航控件的内容区放置页面跳转用的Frame容器,绑定菜单项切换的事件处理逻辑,实现点击菜单跳转对应页面:

// 初始化主内容容器
var mainContentFrame = new Frame();
rootNavView.Content = mainContentFrame;

// 绑定菜单选中事件
rootNavView.SelectionChanged += (navSender, navArgs) =>
{
    if (navArgs.SelectedItem is NavigationViewItem selectedItem)
    {
        // 根据选中项的Tag标识跳转对应页面
        switch (selectedItem.Tag.ToString())
        {
            case "home":
                mainContentFrame.Navigate(typeof(HomePage));
                break;
            case "core":
                mainContentFrame.Navigate(typeof(CoreFunctionPage));
                break;
        }
    }
};

4. 挂载到页面根节点

将构建完成的导航控件设置为当前页面的根展示内容,不需要做额外布局调整:

// 替换页面默认内容为导航控件
this.Content = rootNavView;

实现注意事项

  • 整个流程不需要在对应Page的XAML文件中编写任何导航相关代码,所有控件实例化、属性配置、事件绑定逻辑全部通过C#完成。
  • 导航控件自带的主题适配、窗口自适应折叠、菜单项选中高亮能力全部内置,不需要手动额外编写渲染逻辑,最终样式和XAML实现版本无差异。
  • 所有菜单项支持动态调整顺序、增减条目,逻辑和XAML绑定的实现完全等价。

内容的提问来源于stack exchange,提问作者user15002155

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.08 15:45:03