

新闻资讯
技术学院MAUI自定义导航栏的核心是Shell.TitleView,它允许用任意XAML内容完全替换默认标题栏;需确保页面为Shell子页面,TitleView必须是ContentPage直接子元素,支持绑定与高度控制。
MAUI 中实现自定义导航栏,最标准、推荐的方式就是用 Shell.TitleView。它允许你完全替换默认的标题栏区域(包括标题文字、返回按钮等),用任意 XAML 内容(比如 StackLayout、Grid、Image、Button 等)来构建自己的导航栏外观和交互。
确保你的页面是 Shell 的子页面(即在 AppShell.xaml 中通过 FlyoutItem 或 TabBar 导航到该页),否则 TitleView 不生效。页面本身不需要继承 ShellContent,而是作为 ContentPage 放在 ShellContent
.ContentTemplate 里。
Shell.TitleView 即可生效直接在 ContentPage 根元素内添加 Shell.TitleView,里面放你想要的 UI:
注意:Shell.TitleView 必须是 ContentPage 的直接子元素,不能嵌套在其他布局里;它不会影响页面主体内容的布局位置,系统会自动为 TitleView 预留顶部空间。
HeightRequest,但建议优先适配平台习惯Shell.GoToAsync("..") 实现返回Shell.NavBarIsVisible="False" 并自行处理全屏导航栏(更复杂,非必需),配合 ViewModel 更新标题基本上就这些。TitleView 灵活又轻量,不用重写 Shell 模板,适合大多数定制需求。如果需要更底层控制(比如全局统一导航栏样式或动画),才考虑自定义 ShellRenderer 或用 NavigationPage 替代 Shell —— 但那是另一条路了。