You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI中如何遍历TabBar子项及从Shell访问TabBar对象

.NET MAUI Shell TabBar 获取Tab标题的实现方法

要遍历Shell TabBar的子项并获取标题,核心是通过Shell的Items集合定位到TabBar实例,再遍历其内部的Tab元素,具体实现如下:

  1. 定位TabBar实例
    Shell的Items集合包含所有顶级导航元素,其中就包括TabBar。你可以通过LINQ筛选出TabBar类型的项:
// 在Shell代码后台(如AppShell.xaml.cs)中直接获取
var tabBar = this.Items.OfType<TabBar>().FirstOrDefault();

如果是在页面中获取,用Shell.Current拿到当前Shell实例:

var currentShell = Shell.Current;
var tabBar = currentShell.Items.OfType<TabBar>().FirstOrDefault();
  1. 遍历Tab并获取标题
    拿到TabBar后,遍历它的Items集合(里面的元素是Tab类型),直接读取Title属性即可:
if (tabBar != null)
{
    foreach (var tab in tabBar.Items.OfType<Tab>())
    {
        string tabTitle = tab.Title;
        // 这里将标题存入你的模型,比如记录可见状态
        // 示例:tabVisibilityModel.AddTab(tabTitle, true);
    }
}

注意事项

  • 确保你的XAML结构中,TabBar是直接作为Shell的子元素存在(而非嵌套在FlyoutItem中),否则需要调整筛选逻辑。
  • 如果Tab包含多个ShellContent,Tab的Title就是你在TabBar上看到的标签文本,无需额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:37:02