Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The StatusBarBehavior provides the ability to customize the color and style of a devices status bar.
The StatusBarBehavior applies the color and style values when the properties are updated. The values are also applied based on the ApplyOn property, this property makes it possible to define which lifecycle event is used:
StatusBarApplyOn.OnBehaviorAttachedTo- Applies the color and style when the behavior has been attached to a page. This is the default.StatusBarApplyOn.OnPageNavigatedTo- Applies the color and style when the page has been navigated to.
Note
If your application changes the status bar appearance on a per page basis then you should make use of the StatusBarApplyOn.OnPageNavigatedTo value for the ApplyOn property. Otherwise when navigating back the system will preserve the status bar appearance from the page the user navigated from and not to.
Important
The .NET MAUI Community Toolkit Behaviors do not set the BindingContext of a behavior, because behaviors can be shared and applied to multiple controls through styles. For more information refer to .NET MAUI Behaviors
Syntax
XAML
Including the XAML namespace
In order to use the toolkit in XAML the following xmlns needs to be added into your page or view:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Therefore the following:
<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>
Would be modified to include the xmlns as follows:
<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>
Using the StatusBarBehavior
The StatusBarBehavior can be used as follows 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#
The StatusBarBehavior can be used as follows in C#:
class MyPage : ContentPage
{
public MyPage()
{
this.Behaviors.Add(new StatusBarBehavior
{
StatusBarColor = Colors.Red,
StatusBarStyle = StatusBarStyle.LightContent
});
}
}
There's another way to access the Statusbar APIs on C#, you can call the methods directly, as you can see in the snippet below:
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);
}
}
Warning
If you want to add this code the MainPage's constructor, OnAppearing or OnNavigatedTo methods, please use the Behavior instead.
Using directly on these places can crash your application since the platform-specific components may not be initialized.
Configuration
Properties
| Property | Type | Description |
|---|---|---|
| ApplyOn | StatusBarBehavior | When to apply the status bar color and style. |
| StatusBarColor | Color | The Color name from the Microsoft.Maui.Graphics namespace. |
| StatusBarStyle | StatusBarStyle | The style used by statusbar, can be LightContent, DarkContent or Default. |
Examples
You can find an example of this behavior in action in the .NET MAUI Community Toolkit Sample Application.
API
You can find the source code for StatusBarBehavior over on the .NET MAUI Community Toolkit GitHub repository.
.NET MAUI Community Toolkit