Partager via


StatusBarBehavior

Le StatusBarBehavior offre la possibilité de personnaliser la couleur et le style de barre d’état des appareils.

Le StatusBarBehavior applique les valeurs de couleur et de style au moment de la mise à jour des propriétés. Les valeurs sont également appliquées en fonction de la propriété ApplyOn. Celle-ci permet de définir l’événement de cycle de vie qui est utilisé :

  • StatusBarApplyOn.OnBehaviorAttachedTo : applique la couleur et le cycle quand le comportement a été attaché à une page. Il s’agit de la valeur par défaut.
  • StatusBarApplyOn.OnPageNavigatedTo : applique la couleur et le style lors de l’accès à la page.

Remarque

Si votre application modifie l’apparence de la barre d’état par page, vous devez alors utiliser la valeur StatusBarApplyOn.OnPageNavigatedTo pour la propriété ApplyOn. Sinon, lors de la navigation de retour, le système va conserver l’apparence de la barre d’état de la page d’origine accédée par l’utilisateur, et non celle de destination.

Important

Les comportements du kit d’outils de la communauté .NET MAUI ne définissent pas le BindingContext d’un comportement, car des comportements peuvent être partagés et appliqués à plusieurs contrôles par l’intermédiaire de styles. Pour plus d’informations, consultez Comportements MAUI .NET

Syntaxe

XAML

Y compris l’espace de noms XAML

Pour utiliser le kit de ressources dans XAML, le xmlns suivant doit être ajouté à votre page ou à votre affichage :

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

Il en résulte ce qui suit :

<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>

Serait modifié pour inclure le xmlns de la manière suivante :

<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>

Utilisation de StatusBarBehavior

Le StatusBarBehavior peut être utilisé de la manière suivante dans 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#

Le StatusBarBehavior peut être utilisé de la manière suivante dans C# :

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

Il existe une autre façon d’accéder aux API Statusbar sous C#, vous pouvez appeler les méthodes directement, tel qu’illustré dans l’extrait de code ci-dessous :

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);
    }
}

Avertissement

Utilisez plutôt Behavior si vous souhaitez ajouter ce code au constructeur de MainPage, aux méthodes OnAppearing ou OnNavigatedTo. L’utilisation directe à ces emplacements peut provoquer un blocage de votre application, car les composants spécifiques à la plateforme peuvent ne pas être initialisés.

Configuration

Aucune modification n’est nécessaire.

Propriétés

Propriété Type Description
ApplyOn StatusBarBehavior Moment où vous pouvez appliquer le style et la couleur de barre d’état.
StatusBarColor Couleur Nom Color de l’espace de noms Microsoft.Maui.Graphics.
StatusBarStyle StatusBarStyle Le style utilisé par la barre d’état peut être LightContent, DarkContent ou Default.

Exemples

Vous trouverez un exemple de ce comportement en action dans l’Exemple d’application du kit de ressources de la communauté .NET MAUI.

API

Vous pouvez trouver le code source deStatusBarBehavior sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.