.NET MAUI Shell の概要
.NET マルチプラットフォーム アプリ UI (.NET MAUI) シェルを使用すると、次のような、ほとんどのアプリに必要な基本的な機能が提供され、アプリ開発の複雑さが軽減されます。
- アプリのビジュアル階層を記述するための 1 つの場所。
- 一般的なナビゲーション ユーザー インターフェイス。
- アプリ内の任意のページへのナビゲーションを許可する URI ベースのナビゲーション スキーム。
- 統合された検索ハンドラー
アプリのビジュアル階層
.NET MAUI Shell アプリでは、アプリのビジュアル階層は、 クラスをサブクラス化 Shell するクラスで記述されます。 このクラスは、次の 3 つの主要な階層オブジェクトで構成できます。
- FlyoutItem または TabBar。 は FlyoutItem ポップアップ内の 1 つ以上の項目を表し、アプリのナビゲーション パターンにポップアップが必要な場合に使用する必要があります。 は TabBar 下部タブ バーを表し、アプリのナビゲーション パターンが下部タブで始まり、ポップアップを必要としない場合に使用する必要があります。 ポップアップ項目の詳細については、「 .NET MAUI Shell ポップアップ」を参照してください。 タブ バーの詳細については、「 .NET MAUI Shell タブ」を参照してください。
- Tab。これは、下部のタブによって移動できるグループ化されたコンテンツを表します。 詳細については、「 .NET MAUI Shell タブ」を参照してください。
- ShellContentは、各タブの ContentPage オブジェクトを表します。詳細については、「 .NET MAUI Shell ページ」を参照してください。
これらのオブジェクトは、ユーザー インターフェイスではなく、アプリのビジュアル階層の組織を表します。 シェルでは、これらのオブジェクトを取得して、コンテンツのナビゲーション ユーザー インターフェイスを生成します。
注意
ページは、ナビゲーションに応じてシェル アプリでオンデマンドで作成されます。
詳細については、「 .NET MAUI Shell アプリを作成する」を参照してください。
ナビゲーション ユーザー エクスペリエンス
.NET MAUI Shell によって提供されるナビゲーション エクスペリエンスは、ポップアップとタブに基づいています。 シェル アプリのナビゲーションの最上位レベルは、アプリのナビゲーション要件に応じて、ポップアップまたは下部のタブ バーのいずれかです。 次の例は、ナビゲーションの最上位レベルがポップアップであるアプリを示しています。
この例では、いくつかのポップアップ項目がタブ バー項目として複製されます。 ただし、ポップアップからしかアクセスできない項目もあります。 ポップアップ項目を選択すると、項目が選択され表示された状態で、下部のタブが表示されます。
注意
ポップアップが開いていない場合、下部のタブ バーはアプリのナビゲーションの最上位レベルと見なすことができます。
タブ バーの各タブには、ContentPage が表示されます。 ただし、下部のタブに複数のページが含まれる場合は、上部のタブ バーからページをナビゲートできます。
各タブ内では、詳細ページとして知られる追加の ContentPage オブジェクトに移動できます。
シェルでは、ルートを使用してアプリ内の任意のページに移動する URI ベースのナビゲーション エクスペリエンスを使用します。設定されたナビゲーション階層に従う必要はありません。 さらに、これにより、ナビゲーション スタックのすべてのページにアクセスすることなく、後方に移動する機能も提供されます。 詳細については、「 .NET MAUI Shell ナビゲーション」を参照してください。
検索
.NET MAUI Shell には、 クラスによって提供される統合検索機能が SearchHandler 含まれています。 検索機能をページに追加するには、サブクラス化された SearchHandler オブジェクトをそのページに追加します。 これにより、検索ボックスがページの上部に追加されます。 検索ボックスにデータを入力すると、検索候補領域にデータが入力されます。
次に、検索候補領域から結果を選択すると、詳細ページへの移動などのカスタム ロジックを実行できます。
詳細については、「 .NET MAUI Shell の検索」を参照してください。