.NET MAUI Shell 概述

Browse sample.浏览示例

.NET Multi-platform App UI (.NET MAUI) Shell 通过提供大多数应用需要的基本功能来降低应用开发的复杂性,包括:

  • 用于描述应用的视觉层次结构的单个位置。
  • 常见的导航用户体验。
  • 支持导航到应用中任何页面的基于 URI 的导航方案。
  • 集成的搜索处理程序。

应用视觉层次结构

在 .NET MAUI Shell 应用中,应用的视觉层次结构是在 Shell 类的子类中描述的。 此类可以包含三个主要的层次结构对象:

  1. FlyoutItemTabBarFlyoutItem 表示浮出控件中的一个或多个项,应在应用的导航模式需要浮出控件时使用。 TabBar 表示底部选项卡栏,应在应用的导航模式以底部选项卡开始且不需要浮出控件时使用。 有关浮出控件项的详细信息,请参阅 .NET MAUI Shell 浮出控件。 有关选项卡栏的详细信息,请参阅 .NET MAUI Shell 选项卡
  2. Tab,表示分组内容,可通过底部选项卡导航。 有关详细信息,请参阅 .NET MAUI Shell 选项卡
  3. ShellContent 表示每个选项卡的 ContentPage 对象。有关详细信息,请参阅 .NET MAUI Shell 页

这些对象不表示任何用户界面,而是表示应用的视觉层次结构的组织。 Shell 使用这些对象,生成内容的导航用户界面。

注意

在 Shell 应用中,会按需创建页面,以响应导航。

有关详细信息,请参阅创建 .NET MAUI Shell 应用

.NET MAUI Shell 提供的导航体验基于浮出控件和选项卡。 Shell 应用中的最上层导航可以是浮出控件或底部选项卡栏,具体取决于应用的导航要求。 下列示例显示了导航顶级是浮出控件的应用:

Screenshot of a Shell flyout.

在此示例中,某些浮出控件项被复制为选项卡栏项。 但是,也有一些项只能从浮出控件进行访问。 选择浮出控件项导致选中并显示表示项的底部选项卡:

Screenshot of Shell bottom tabs.

注意

当浮出控件未打开时,底部选项卡栏可被视为应用中的导航顶级。

选项卡栏上的每个选项卡都显示 ContentPage。 但是,如果底部选项卡包含多个页面,则页面可通过顶部选项卡栏进行导航:

Screenshot of Shell top tabs.

在每个选项卡内,都可以导航到称为详细信息页的其他 ContentPage 对象:

Screenshot of Shell page navigation.

Shell 使用基于 URI 的导航体验,该体验利用路由导航至应用中的任何页面,而无需遵循设置的导航层次结构。 此外,它还能够向后导航,不必访问导航堆栈上的所有页面。 有关详细信息,请参阅 .NET MAUI Shell 导航

.NET MAUI Shell 包含 SearchHandler 类提供的集成搜索功能。 可以通过向页面添加子类化的 SearchHandler 对象来向其添加搜索功能。 这会将搜索框添加到页面顶部。 将数据输入到搜索框后,数据将填充搜索建议区域:

Screenshot of Shell search.

然后,当从搜索建议区域中选中某结果时,可以执行自定义逻辑,例如导航到详细信息页面。

有关详细信息,请参阅 .NET MAUI Shell 搜索