Xamarin.Forms KabuğunuXamarin.Forms Shell

GirişIntroduction

Xamarin.Forms Kabuk, çoğu mobil uygulamanın gerektirdiği temel özellikleri sağlayarak mobil uygulama geliştirmenin karmaşıklığını azaltır.Xamarin.Forms Shell reduces the complexity of mobile application development by providing the fundamental features that most mobile applications require. Buna ortak bir gezinti kullanıcı deneyimi, URI tabanlı bir gezinti şeması ve tümleşik arama işleyicisi dahildir.This includes a common navigation user experience, a URI-based navigation scheme, and an integrated search handler.

Xamarin.FormsKabuk uygulaması oluşturmaCreate a Xamarin.Forms Shell application

Kabuk uygulaması oluşturma işlemi, Xamarin.Forms sınıfının alt sınıfını oluşturan BIR xaml dosyası oluşturmak Shell , MainPage uygulamanın sınıfının özelliğini alt App sınıflanmış Shell nesneye ayarlamak ve sonra alt sınıflanmış sınıfta uygulamanın görsel hiyerarşisini anlatmaktadır 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.

Geçici Açılır ÖğeFlyout

Bir açılır pencere, bir kabuk uygulaması için isteğe bağlı kök menü olur ve bir simge aracılığıyla veya ekranın kenarından çekerek erişilebilir.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. Açılır pencere, isteğe bağlı bir üst bilgi, açılır öğe öğesi, isteğe bağlı menü öğeleri ve isteğe bağlı bir altbilgi içerir.The flyout consists of an optional header, flyout items, optional menu items, and an optional footer.

SekmelerTabs

Bir açılır pencere, bir kabuk uygulamasındaki bir sonraki düzey gezinti düzeyi alt sekme çubuğudur.After a flyout, the next level of navigation in a Shell application is the bottom tab bar. Alternatif olarak, bir uygulamanın gezinti deseninin alt sekmeleri ile başlayabilir ve bir açılır pencere kullanılamaz.Alternatively, the navigation pattern for an application can begin with bottom tabs and make no use of a flyout. Her iki durumda da, alt sekme birden fazla sayfa içerdiğinde sayfalar üst sekmeye gezinilebilir.In both cases, when a bottom tab contains more than one page, the pages will be navigable by top tabs.

SayfalarPages

Bir ShellContent nesne, ContentPage veya için nesnesini temsil FlyoutItem eder Tab .A ShellContent object represents the ContentPage object for each FlyoutItem or Tab.

Kabuk uygulamaları, küme gezinti hiyerarşisini izlemek zorunda kalmadan, uygulamadaki herhangi bir sayfaya gitmek için yollar kullanan URI tabanlı bir gezinti düzenini kullanabilir.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.

Kabuk uygulamaları, her sayfanın üst kısmına eklenebilen bir arama kutusuyla sunulan tümleşik arama işlevlerini kullanabilir.Shell applications can use integrated search functionality that's provided by a search box that can be added to the top of each page.

Yaşam döngüsüLifecycle

Kabuk uygulamaları yaşam döngüsüne uyar Xamarin.Forms ve bir Appearing sayfa ekranda gözükme geldiğinde bir olayı ve bir sayfa ekranda görüntiğimde bir olayı harekete geçirme 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.

Özel işleyicilerCustom renderers

Kabuk uygulamaları çeşitli kabuk sınıflarının sergileme özellikleri ve yöntemleri aracılığıyla özelleştirilebilir.Shell applications are customizable through the properties and methods that the various Shell classes expose. Bununla birlikte, daha gelişmiş platforma özgü özelleştirmeler gerektiğinde kabuk özel Oluşturucu oluşturmak da mümkündür.However, it's also possible to create Shell custom renderers when more sophisticated platform-specific customizations are required.