MAUI 中无原生顶部 TabView,官方推荐使用 Community Toolkit 的 TabView 实现;也可手写 HorizontalStackLayout + ContentView 切换,或避免误用 Shell TabBar。

MAUI 中没有原生的 TabView 控件——这是常见误解。官方推荐且主流使用的顶部标签页导航方案,是通过 .NET MAUI Shell 的 Tab + TabBar 组合 实现,但默认只支持底部选项卡;若需顶部标签页(类似 Android 的 Material Tabs 或 iOS 的 segmented control 风格),需手动组合或借助第三方库。
Shell 的 TabBar 固定在底部,Tab 内部多个 ShellContent 会自动在顶部生成可滑动的「子选项卡」(iOS/Android 均支持),但这仅限于同一主 Tab 下的页面切换,不是全局顶部导航栏。
例如:
ShellContent:今日、预报 → 顶部会出现两个小标签1. 使用 Community Toolkit 的 TabView(推荐)
Microsoft.Maui.Controls.CommunityToolkit NuGet 包(v7+)<tabview></tabview>,每个 TabViewItem 可设 Header(文字/图标/自定义控件)和 Content2. 手写顶部 TabBar + ContentView 切换
HorizontalStackLayout + 多个 Button 模拟标签头IsEnabled 和 BackgroundColor 控制选中态ContentView 或 ContentPage 切换主体内容(用 IsVisible 或 Content 属性动态替换)3. 避免强行“顶部 Shell Tab”,因为不支持
TabBar 放到 Shell 的顶部区域——Shell 不提供该布局能力NavigationPage 和 Shell——两者互斥,会抛异常TabbedPage 做顶部导航——它默认也是底部,且不支持 Shell 导航体系在 XAML 中:
<toolkit:TabView>
<toolkit:TabView.TabItems>
<toolkit:TabViewItem Header="首页">
<VerticalStackLayout><Label Text="首页内容" /></VerticalStackLayout>
</toolkit:TabViewItem>
<toolkit:TabViewItem Header="搜索">
<VerticalStackLayout><Label Text="搜索内容" /></VerticalStackLayout>
</toolkit:TabViewItem>
</toolkit:TabView.TabItems>
</toolkit:TabView>关键点:
Header 支持字符串、Image、甚至 Grid 布局SelectedTabChanged 事件监听切换TabIndicatorColor 和 TabIndicatorHeight 自定义下划线IsSwipeEnabled="False" 关闭基本上就这些。顶部标签页在 MAUI 里不是开箱即用的功能,但用 Community Toolkit 的 TabView 是最省心、最接近原生体验的选择。
以上就是MAUI TabView控件怎么用 MAUI顶部标签页导航的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号