Xamarin.Forms シェルXamarin.Forms Shell


Xamarin.Forms シェルでは、ほとんどのモバイル アプリケーションが必要としている基本機能を提供することで、モバイル アプリケーション開発の複雑さが軽減されます。Xamarin.Forms Shell reduces the complexity of mobile application development by providing the fundamental features that most mobile applications require. これには、一般的なナビゲーション ユーザー エクスペリエンス、URI ベースのナビゲーション体系、および統合された検索ハンドラーが含まれます。This includes a common navigation user experience, a URI-based navigation scheme, and an integrated search handler.

Xamarin.Forms シェル アプリケーションを作成するCreate a Xamarin.Forms Shell application

Xamarin.Forms シェル アプリケーションを作成するプロセスは、Shell クラスをサブクラス化する XAML ファイルを作成し、アプリケーションの App クラスの MainPage プロパティを、サブクラス化した Shell オブジェクトに設定した後に、サブクラス化した Shell クラス内にアプリケーションのビジュアル階層を記述することです。The process for creating a Xamarin.Forms Shell application is to create a XAML file that subclasses the Shell class, set the MainPage property of the application's App class to the subclassed Shell object, and then describe the visual hierarchy of the application in the subclassed Shell class.


ポップアップは、シェル アプリケーションのオプションのルート メニューであり、アイコンから、または画面の横からスワイプして、アクセスすることが可能です。A flyout is the optional root menu for a Shell application, and is accessible through an icon or by swiping from the side of the screen. ポップアップは、オプションのヘッダー、ポップアップ項目、オプションのメニュー項目、およびオプションのフッターから構成されています。The flyout consists of an optional header, flyout items, optional menu items, and an optional footer.


シェル アプリケーションにおけるポップアップの次のレベルのナビゲーションは、下部のタブ バーです。After a flyout, the next level of navigation in a Shell application is the bottom tab bar. または、アプリケーションのナビゲーション パターンを下部のタブから始めて、ポップアップを使用しないようにすることができます。Alternatively, the navigation pattern for an application can begin with bottom tabs and make no use of a flyout. どちらの場合も下部のタブに複数のページが含まれる場合は、上部のタブからページをナビゲートできます。In both cases, when a bottom tab contains more than one page, the pages will be navigable by top tabs.


ShellContent オブジェクトを使用すると、FlyoutItem または Tab ごとに ContentPage オブジェクトを表すことができます。A ShellContent object represents the ContentPage object for each FlyoutItem or Tab.

シェル アプリケーションでは、設定されたナビゲーション階層に従わなくても、アプリケーション内の任意のページに移動するルートを使用する URI ベースのナビゲーション体系を活用できます。Shell applications can utilize a URI-based navigation scheme that uses routes to navigate to any page in the application, without having to follow a set navigation hierarchy.

シェル アプリケーションでは、各ページの上部に追加できる検索ボックスとして提供される、統合された検索機能を利用できます。Shell applications can use integrated search functionality that's provided by a search box that can be added to the top of each page.


シェル アプリケーションでは、Xamarin.Forms のライフサイクルが尊重されます。また、ページが画面に表示されようとしているときに Appearing イベントが起動され、ページが画面から消えようとしているときに Disappearing イベントが起動されます。Shell applications respect the Xamarin.Forms lifecycle, and additionally fire an Appearing event when a page is about to appear on the screen, and a Disappearing event when a page is about to disappear from the screen.

カスタム レンダラーCustom renderers

シェル アプリケーションは、さまざまなシェル クラスによって公開されているプロパティとメソッドを利用して、カスタマイズすることができます。Shell applications are customizable through the properties and methods that the various Shell classes expose. ただし、プラットフォーム固有のより詳細なカスタマイズが必要な場合は、シェルのカスタム レンダラーを作成することも可能です。However, it's also possible to create Shell custom renderers when more sophisticated platform-specific customizations are required.