MAUI怎么在Shell导航中隐藏某个页面 MAUI路由配置


.NET MAUI Shell中“隐藏页面”指不显示在Flyout或TabBar中但可通过URI导航,需仅注册路由而不放入可视化容器;可动态设IsVisible控制显隐,并用N*igating事件拦截非法跳转。

maui怎么在shell导航中隐藏某个页面 maui路由配置

在 .NET MAUI Shell 导航中,**“隐藏某个页面”通常指不让该页面出现在抽屉菜单(Flyout)或标签栏(TabBar)中,但依然能通过 URI 导航跳转过去**——比如详情页、编辑页、登录后跳转页等非主入口页面。这不是真正“禁用”,而是**路由可见性控制**,靠 Shell 的路由注册方式和 UI 结构配置实现。

只注册路由,不放入 FlyoutItem 或 TabBar

Shell 页面是否显示在导航 UI 中,取决于它是否被包含在 FlyoutItemTabBarTab 这些可视化容器里。只要不把页面放进这些结构,它就不会出现在菜单或底部标签中,但仍可通过 GoToAsync 访问。

  • ✅ 正确做法:在 AppShell.xaml 中只给需要展示的页面配 ShellContent,其他页面仅注册路由
  • ❌ 错误做法:把所有页面都塞进 FlyoutItem,再用代码隐藏(无效且破坏结构)

示例:只让 cats/dogs 出现在菜单,monkeys 页面可跳转但不显示


  
    
      
      
    

  

  

然后在 AppShell.xaml.cs 中注册路由:

Routing.RegisterRoute("monkeys", typeof(MonkeysPage));

用 ShellContent 设置 IsVisible="False"

如果某页面已放在 FlyoutItemTab 中,但想临时隐藏(比如权限控制),可以用 IsVisible 属性动态控制其可见性。

Boomy Boomy

AI音乐生成工具,创建生成音乐,与世界分享.

Boomy 368 查看详情 Boomy
  • IsVisible="False" 会让该项从 Flyout 或 TabBar 中完全消失(不只是变灰)
  • 需在代码中绑定或设置,XAML 中写死不灵活,推荐运行时控制

例如在 AppShell.xaml.cs 构造函数或 OnN*igated 中:

var monkeysItem = this.FlyoutItems.OfType()
  .FirstOrDefault(f => f.Route == "monkeys");
if (monkeysItem != null)
  monkeysItem.IsVisible = User.HasPermission("view-monkeys");

避免被路由匹配到的“伪隐藏”技巧

有些页面你希望彻底屏蔽外部访问(比如未登录时禁止跳转),光靠 UI 隐藏不够,还需拦截导航:

  • 订阅 Shell.N*igating 事件,在跳转前判断目标路由和当前状态
  • 调用 e.Cancel = true 可中断导航,并可跳转到登录页
  • 适合做权限校验,不是 UI 隐藏,但常配合使用

示例:

Shell.Current.N*igating += (s, e) =>
{
  if (e.Target.Location.ToString().Contains("admin") && !User.IsAdmin)
  {
    e.Cancel = true;
    await Shell.Current.GoToAsync("//login");
  }
};

基本上就这些。关键记住:Shell 中页面“显隐”本质是结构决定的——放进 Flyout/Tab 就可见,只注册路由就不占 UI 位置。配合 IsVisibleN*igating 事件,就能做到精准控制。

以上就是MAUI怎么在Shell导航中隐藏某个页面 MAUI路由配置的详细内容,更多请关注其它相关文章!


# 可以用  # 勐腊网站推广公司电话  # 宁波网站建设订制公司  # 关键词迅速排名 黑猫  # 保山汝州全平台营销推广  # 网站优化效果对比推荐图  # 北海去哪找网站建设内容  # 宁海外贸网站优化  # 南宁房产关键词排名情况  # 十大家具营销推广成功  # 营销推广宣传模板  # 相关文章  # 而不  # go  # 就能  # 放在  # 见性  # 可通过  # 有哪些  # 出现在  # 跳转  # gate  # .net  # 路由  # ai  # app 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 吃完饭就犯困是什么原因 餐后嗜睡如何缓解  优化响应式标题底部边框:CSS实现技巧与最佳实践  如何在CSS中使用过渡制作按钮边框渐变_border-color transition实现  C++ bind函数使用教程_C++参数绑定与函数适配器的应用  《磁力猫》最好用的磁官网  iSpring三分屏制作教程  解决PHP MySQL数据库更新无响应:SQL查询语法错误解析  创建快捷方式启动系统保护  百度小说看书时如何翻页_百度小说手动翻页与自动翻页设置  《360浏览器》设置摄像头权限方法  XPath动态元素定位:如何精准选择文本内容变化的元素  如何在解析前预检查XML文件的完整性? 比如检查文件大小或特定结束标签  iPhone 13 mini如何清理Safari缓存_iPhone 13 mini浏览器缓存清理方法  TikTok网页版实时观看入口 TikTok网页版短视频在线浏览  《虎扑》关闭社区内容推荐方法  《雅迪智行》用手机开锁方法  如何在CSS中实现盒模型多列间距_grid-gap与padding结合  Highcharts雷达图径向轴数值标签实现教程  微博网页版访问入口 微博网页版网页端使用指南  《虎扑》取消评分记录方法  VS Code快捷键when上下文子句的妙用  b站怎么设置动态仅粉丝可见_b站动态粉丝可见设置方法  Golang如何实现HTTP请求重试机制_Golang HTTP请求错误处理策略  iCloud官方网站 iCloud网页版在线登录入口  包子漫画官网链接官方地址 包子漫画在线观看官网首页入口  Go App Engine 项目结构与包管理深度指南  b站怎么用微信登录_b站微信登录方法  宝妈做视频号该写什么标签话题?宝妈关注的话题有哪些?  阿里旺旺电脑网页版入口 阿里旺旺电脑版网页登录入口  sublime怎么在文件中显示代码结构大纲_sublime符号列表功能  word表格如何按某一列内容进行排序_Word表格按列排序方法  《原神》月之一版本新增书籍一览  Sublime Text怎么关闭自动完成_Sublime禁用Auto Complete设置  实现可重用自定义Python Range类  优化Google Charts Gauge:在数据库无数据时显示默认值  《sketchbook》选中部分图案移动方法  使用逻辑应用(Logic Apps)自动处理邮件附件中的XML到Excel  poki官网最新入口 poki小游戏大全入口  React应用中Commerce.js数据加载与状态管理最佳实践  抖音如何进行蓝V认证 抖音企业号申请所需资料与流程  优化CSS动画与J*aScript定时器协同:构建稳定Toast提示  使用 J*aScript 随机化 CSS Grid 布局中的元素顺序  Mac hosts文件在哪里_Mac修改hosts文件详细教程  VS Code中的Tailwind CSS IntelliSense插件使用技巧  在Dash应用中自定义HTML标题和网站图标  知音漫客官网首页入口_知音漫客热门漫画推荐  4399正版网页版入口高清直达链接  店铺如何做视频号推广?做视频号推广有用吗?  《oppo商城》维修服务位置  yandex网页版直接登录 yandex官方入口平台访问方法 

 2025-12-20

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.