Оболочка Xamarin.Forms

Введение

Оболочка Xamarin.Forms упрощает разработку мобильных приложений, предоставляя основные возможности, которые необходимы для большинства мобильных приложений. К ним относится реализация навигации пользователя, схема навигации на основе URI и обработчик интегрированного поиска.

Создание приложения оболочки Xamarin.Forms

Чтобы создать приложение оболочки Xamarin.Forms, нужно создать XAML-файл, в котором, в свою очередь, создается производный класс Shell, задается свойство MainPage класса App приложения для подкласса объекта Shell и описывается визуальная иерархия приложения в производном классе Shell.

Flyout

Всплывающий элемент выполняет роль необязательного главного меню для приложения оболочки. Его можно вызвать специальным значком или жестом пальцем от края экрана. Всплывающий элемент состоит из входящих в него пунктов, а также (необязательно) заголовка, пунктов меню и нижнего колонтитула.

Вкладки

Следующим уровнем навигации после всплывающего меню в приложении оболочки является нижняя панель вкладок. Или же навигация по приложению может начинаться с нижней панели вкладок без использования всплывающего меню. В обоих случаях, если нижняя вкладка содержит более одной страницы, перемещение по ним осуществляется с помощью верхней панели вкладок.

Страницы

Объект ShellContent представляет объект ContentPage для каждого FlyoutItem или Tab.

Приложения оболочки могут использовать схему навигации на основе URI, которая позволяет переходить на любую страницу в приложении без соблюдения строгой иерархии.

Приложения оболочки могут использовать интегрированную функцию поиска, которая реализована в виде поля поиска в верхней части каждой страницы.

Жизненный цикл

Приложения оболочки учитывают жизненный цикл Xamarin.Forms и дополнительно генерируют событие Appearing, когда страница должна отобразиться на экране, а событие Disappearing возникает, когда страница должна исчезнуть с экрана.

Пользовательские отрисовщики

Приложения оболочки можно настраивать через свойства и методы, которые предоставляются в классах оболочки. Но вы можете создать собственные отрисовщики оболочки, если доступных возможностей настройки для конкретной платформы недостаточно.