MAUI Как установить цвет фона TopBar?

Как изменить/задать цвет верхней панели?

(для всех страниц моего приложения)

1 ответ

Оболочка

Поскольку вы используете Shell, это следует сделать с помощьюShell.BackgroundColor:

      <ContentPage
    x:Class="MauiSamples.Views.MainPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    Shell.BackgroundColor="DarkGreen">

    <!-- content goes here -->

</ContentPage>

Вы также можете увидеть, как это работает, в моем репозитории образцов: https://github.com/ewerspej/maui-samples.

Если вы хотите использовать один и тот же стиль на каждой странице, вы также можете изменить это в Styles.xaml или определить где-нибудь свой собственный стиль аналогичным образом:

      <Style TargetType="Shell" ApplyToDerivedTypes="True">
    <Setter Property="Shell.BackgroundColor" Value="DarkGreen" />
    
    <!-- skipping other styles -->

</Style>

Другой способ — установитьTitleViewв макет, который заполняет доступное пространство, и придает этомуBackgroundColor:

      <ContentPage
    x:Class="MauiSamples.Views.MainPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">

    <Shell.TitleView>
        <Grid
            VerticalOptions="Fill"
            HorizontalOptions="Fill"
            BackgroundColor="DarkGreen">
            
        </Grid>
    </Shell.TitleView>

    <!-- content goes here -->

</ContentPage>

Страница навигации

Когда вместо Shell используется NavigationPage , это должно бытьBarBackgroundColor, например:

      MainPage = new NavigationPage(new MyContentPage())
{
    BarBackgroundColor = Colors.DarkGreen
};

Это должно быть аналогично для TabbedPage.

Другие вопросы по тегам