Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met AppThemeObject en AppThemeColor u kunt themabewuste resources maken voor uw toepassing die automatisch worden bijgewerkt wanneer het apparaatthema wordt bijgewerkt.
De AppThemeObject en AppThemeColor objecten zijn themabewuste resources waarmee u gemakkelijker kunt werken met kleuren, afbeeldingen en andere resources die moeten worden gewijzigd, afhankelijk van het huidige thema van de app.
Deze objecten zijn gebaseerd op de concepten van de AppThemeBinding die beschikbaar is in .NET MAUI en maken het gemakkelijker om met deze typen resources te werken in een ResourceDictionary.
Daarom moet u deze API's doorgaans gebruiken via de ThemeResource markeringsextensie in XAML.
Syntax
Inclusief de XAML-naamruimte
Als u de toolkit in XAML wilt gebruiken, moet de volgende xmlns worden toegevoegd aan uw pagina of weergave:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Daarom volgt het volgende:
<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>
Zou als volgt worden gewijzigd om de xmlns op te nemen:
<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>
AppThemeResource
Dit AppThemeObject is een algemeen themabewust object waarmee u alle object objecten voor de Lighten DarkDefault eigenschappen kunt instellen. Omdat AppThemeObject niet sterk getypeerd is, worden tijdens runtime de waarden van elke eigenschap geƫvalueerd en gecast.
Warning
Als de cast ongeldig is, kan dit een runtime-uitzondering veroorzaken.
In het volgende voorbeeld ziet u hoe u AppThemeObject via een ResourceDictionary gebruikt:
<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.Resources>
<toolkit:AppThemeObject Light="dark.png" Dark="light.png" x:Key="MyImageSource" />
</ContentPage.Resources>
<VerticalStackLayout>
<Image Source="{toolkit:AppThemeResource MyImageSource}" />
</VerticalStackLayout>
</ContentPage>
AppThemeColor
Het AppThemeColor is een gespecialiseerd, themabewust Color waarmee u een Color kunt instellen voor de eigenschappen Light, Dark en Default.
In het volgende voorbeeld ziet u hoe u AppThemeColor via een ResourceDictionary gebruikt:
<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.Resources>
<toolkit:AppThemeColor Light="Red" Dark="Green" x:Key="LabelTextColor" />
</ContentPage.Resources>
<VerticalStackLayout>
<Label TextColor="{toolkit:AppThemeResource LabelTextColor}" />
</VerticalStackLayout>
</ContentPage>
AppThemeColor en AppThemeResource via stijlen gebruiken
Omdat we deze themabewuste resources in een ResourceDictionarykunnen gebruiken, betekent dit dat we ze ook kunnen gebruiken via een Style.
In het volgende voorbeeld ziet u hoe u via een StyleAppThemeColor gebruikt:
<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.Resources>
<toolkit:AppThemeColor Light="Red" Dark="Green" x:Key="LabelTextColor" />
<Style x:Key="Headline" TargetType="Label">
<Setter Property="FontFamily" Value="Segoe UI" />
<Setter Property="FontSize" Value="10" />
<Setter Property="TextColor" Value="{toolkit:AppThemeResource LabelTextColor}" />
</Style>
</ContentPage.Resources>
<VerticalStackLayout>
<Label Style="{StaticResource Headline}" />
</VerticalStackLayout>
</ContentPage>
Extensibility
Beide AppThemeObject en AppThemeColor overnemen van de abstracte klasse AppThemeObject<T>. Als u een meer sterk getypte resource nodig hebt die niet beschikbaar is in de .NET MAUI Community Toolkit, kunt u uw eigen overname maken.
Eigenschappen
In de onderstaande tabel worden de eigenschappen van AppThemeObject en AppThemeColor beschreven. Voor AppThemeColor, de typen van elke eigenschap zal zijn Color in plaats van object.
| Property | Type | Description |
|---|---|---|
| Donker | object |
De waarde die wordt toegepast op de eigenschap waarop deze resource wordt toegepast wanneer de app gebruikmaakt van het donkere thema. |
| Verstek | object |
De waarde die wordt toegepast op de eigenschap waarop deze resource wordt toegepast wanneer de app gebruikmaakt van het lichte of donkere thema en er geen waarde is opgegeven voor de bijbehorende eigenschap van dat thema. |
| Licht | object |
De waarde die wordt toegepast op de eigenschap waarop deze resource wordt toegepast wanneer de app gebruikmaakt van het lichte thema. |
Examples
U vindt een voorbeeld van AppThemeResource in actie in de voorbeeldtoepassing .NET MAUI Community Toolkit.
API
U vindt de broncode voor AppThemeResource in de .NET MAUI Community Toolkit GitHub opslagplaats.
.NET MAUI Community Toolkit