Страница TabbedPage позволяет размещать дочерние страницы (обычно ContentPage) на отдельных вкладках и, при чем, в конкретный момент времени на экране будет показываться только одна дочерняя страница.
Свойства TabbedPage
Страница TabbedPage предоставляет нам следующие свойства для работы:
| Свойство | Тип | Описание |
BarBackground |
Brush |
Фон панели вкладок |
BarBackgroundColor |
Color |
Цвет панели вкладок |
BarTextColor |
Color |
Цвет текста панели вкладок |
SelectedTabColor |
Color |
Цвет активной вкладки |
UnselectedTabColor |
Color |
Цвет неактивной вкладки |
Что касается текста вкладки и её иконки, то эти значения берутся из свойств дочерних страниц. Попробуем создать страницу TabbedPage в нашем приложении.
Создание TabbedPage
Создадим новый проект .NET MAUI и сразу добавим в него несколько пустых страниц, например, чтобы получилась вот такая структура проекта:
Три новые страницы проекта будут выступать в качестве дочерних для TabbedPage. Изменим код страницы MainPage следующим образом:
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Tabbed.MainPage"
xmlns:local="clr-namespace:Tabbed">
<local:NewPage1/>
<local:NewPage2/>
<local:NewPage3/>
</TabbedPage>
Также изменим файл отдельного кода MainPage.xaml.cs:
namespace Tabbed
{
public partial class MainPage : TabbedPage
{
public MainPage()
{
InitializeComponent();
}
}
}
Теперь сделаем страницу MainPage главной страницей нашего приложения. Изменим файл отдельного кода App.xaml.cs следующим образом:
namespace Tabbed
{
public partial class App : Application
{
public App()
{
InitializeComponent();
}
protected override Window CreateWindow(IActivationState? activationState)
{
return new Window(new MainPage());
}
}
}
Теперь можно запустить приложение и оценить результат:
Стоит отметить, что все дочерние страницы TabbedPage создаются в момент создания главной страницы TabbedPage. Такое поведение может плохо сказаться на производительности вашего приложения, в особенности, если дочерние страницы «тяжелые», а TabbedPage выступает в роли главной страницы приложения (как у нас в примере). В .NET MAUI для удобства и оптимизации затрат ресурсов на создание удобной навигации в приложении может применяться элемент Shell (оболочка), о котором мы поговорим в следующей части.
Итого
Страница TabbedPage используется для создания панели вкладок где каждая вкладка — это отдельная дочерняя страница. Внешний вид TabbedPage зависит от платформы на которой запускается приложение.
