Condividi tramite


StatusBarBehavior

StatusBarBehavior offre la possibilità di personalizzare il colore e lo stile di una barra di stato dei dispositivi.

StatusBarBehavior Applica i valori di colore e stile quando le proprietà vengono aggiornate. I valori vengono applicati anche in base alla ApplyOn proprietà , questa proprietà consente di definire quale evento del ciclo di vita viene usato:

  • StatusBarApplyOn.OnBehaviorAttachedTo - Applica il colore e lo stile quando il comportamento è stato associato a una pagina. Si tratta dell'impostazione predefinita.
  • StatusBarApplyOn.OnPageNavigatedTo - Applica il colore e lo stile quando la pagina è stata spostata.

Nota

Se l'applicazione modifica l'aspetto della barra di stato per pagina, è consigliabile usare il StatusBarApplyOn.OnPageNavigatedTo valore per la ApplyOn proprietà . In caso contrario, durante lo spostamento indietro, il sistema manterrà l'aspetto della barra di stato dalla pagina da cui l'utente si è spostato e non verso.

Importante

I comportamenti di .NET MAUI Community Toolkit non impostano l'oggetto BindingContext di un comportamento, perché i comportamenti possono essere condivisi e applicati a più controlli tramite stili. Per altre informazioni, vedere Comportamenti MAUI di .NET

Sintassi

XAML

Inclusione dello spazio dei nomi XAML

Per usare il toolkit in XAML, è necessario aggiungere le informazioni seguenti xmlns nella pagina o nella visualizzazione:

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

Di conseguenza:

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">

</ContentPage>

Verrà modificato in modo da includere l'oggetto xmlns come indicato di seguito:

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">

</ContentPage>

Uso di StatusBarBehavior

Può StatusBarBehavior essere usato come segue in XAML:

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
             x:Class="MyLittleApp.MainPage">
    
    <ContentPage.Behaviors>
        <toolkit:StatusBarBehavior StatusBarColor="Fuchsia" StatusBarStyle="LightContent" />
    </ContentPage.Behaviors>

</ContentPage>

C#

Può StatusBarBehavior essere usato come indicato di seguito in C#:

class MyPage : ContentPage
{
    public MyPage()
    {
        this.Behaviors.Add(new StatusBarBehavior
        {
            StatusBarColor = Colors.Red,
            StatusBarStyle = StatusBarStyle.LightContent
        });
    }
}

Esiste un altro modo per accedere alle API della barra di stato in C#, è possibile chiamare direttamente i metodi, come si può vedere nel frammento di codice seguente:

class MyPage : ContentPage
{
    protected override void OnNavigatedTo(NavigatedToEventArgs args)
    {
        base.OnNavigatedTo(args);
        CommunityToolkit.Maui.Core.Platform.StatusBar.SetColor(statusBarColor);
        CommunityToolkit.Maui.Core.Platform.StatusBar.SetStyle(StatusBarStyle.LightContent);
    }
}

Avviso

Se si vuole aggiungere questo codice al MainPagecostruttore OnAppearing o OnNavigatedTo ai metodi, usare invece .Behavior L'uso diretto in queste posizioni può arrestare l'applicazione in modo anomalo perché i componenti specifici della piattaforma potrebbero non essere inizializzati.

Impostazione

Nessuna modifica necessaria.

Proprietà

Proprietà Type Descrizione
ApplyOn StatusBarBehavior Quando applicare il colore e lo stile della barra di stato.
StatusBarColor Color Nome Color dello spazio dei nomi Microsoft.Maui.Graphics.
StatusBarStyle StatusBarStyle Lo stile utilizzato dalla barra di stato può essere LightContent, DarkContent o Default.

Esempi

È possibile trovare un esempio di questo comportamento in azione nell'applicazione di esempio .NET MAUI Community Toolkit.

API

È possibile trovare il codice sorgente per StatusBarBehavior over nel repository GitHub di .NET MAUI Community Toolkit.