Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
AppThemeObject ve AppThemeColor ile, cihaz teması güncellendiğinde otomatik olarak güncellenen, uygulamanız için temaya duyarlı kaynaklar oluşturabilirsiniz.
AppThemeObject ve AppThemeColor nesneleri, uygulamanın geçerli temasına bağlı olarak değiştirilmesi gereken renkler, resimler ve diğer kaynaklarla çalışmayı kolaylaştıran tema kullanan kaynaklardır.
Bu nesneler, .NET MAUI'de bulunan AppThemeBinding kavramlarını temel alır ve ResourceDictionary içinde bu tür kaynaklarla çalışmayı kolaylaştırır.
Bu nedenle, bu API'leri genellikle XAML'deki ThemeResource işaretleme uzantısı aracılığıyla kullanmanız gerekir.
Sözdizimi
XAML ad alanını dahil edin
Araç setini XAML'de kullanmak için sayfanıza veya görünümünüzde aşağıdakilerin xmlns eklenmesi gerekir:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Bu nedenle aşağıdakiler:
<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>
xmlns öğesini içerecek şekilde aşağıdaki gibi değiştirilirdi:
<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
AppThemeObject, Light, Dark ve Default özellikleri için herhangi bir object ayarlamanıza olanak tanıyan genel, tema duyarlı bir nesnedir.
AppThemeObject Türü kesin olarak belirtilmemiş olduğundan, çalışma zamanında her özelliğin değerleri değerlendirilir ve dönüştürülür.
Uyarı
Atama geçersizse, bu bir çalışma zamanı özel durumuyla sonuçlanabilir.
Aşağıdaki örnek, bir ResourceDictionary aracılığıyla AppThemeObject öğesinin nasıl kullanılacağını gösterir:
<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
AppThemeColor, Light, Dark ve Default özellikleri için bir Color ayarlamanıza olanak tanıyan, temaya duyarlı özel bir Color’dir.
Aşağıdaki örnek, bir ResourceDictionary aracılığıyla AppThemeColor'ın nasıl kullanılacağını gösterir:
<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 ve AppThemeResource’un Stillerle Kullanımı
Bu temaya duyarlı kaynakları bir ResourceDictionary içinde kullanabildiğimiz için, bu onları bir Style üzerinden de kullanabileceğimiz anlamına gelir.
Aşağıdaki örnek, AppThemeColor öğesinin bir Style aracılığıyla nasıl kullanılacağını gösterir:
<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>
Genişletilebilirlik
Hem AppThemeObject hem de AppThemeColor, AppThemeObject<T> soyut sınıfından türetilmiştir. .NET MAUI Community Toolkit'te bulunmayan, daha güçlü türlendirilmiş bir kaynağa ihtiyacınız varsa kendi türevinizi oluşturabilirsiniz.
Özellikler
Aşağıdaki tablo, AppThemeObject ve AppThemeColor için özellikleri açıklar.
AppThemeColor için, her özelliğin türü object yerine Color olacaktır.
| Özellik | Türü | Açıklama |
|---|---|---|
| Karanlık | object |
Uygulama koyu temayı kullandığında bu kaynağın uygulandığı özelliğe uygulanan değer. |
| Varsayılan | object |
Uygulama açık ya da koyu temayı kullandığında ve bu temanın ilgili özelliği için herhangi bir değer sağlanmadığında, bu kaynağın uygulandığı özelliğe uygulanan değer. |
| Işık | object |
Uygulama ışık temasını kullandığında bu kaynağın uygulandığı özelliğe uygulanan değer. |
Örnekler
AppThemeResource öğesinin kullanımda olduğuna dair bir örneği .NET MAUI Community Toolkit Örnek Uygulaması içinde bulabilirsiniz.
API (Uygulama Programlama Arayüzü)
AppThemeResource için kaynak kodunu .NET MAUI Community Toolkit GitHub deposunda bulabilirsiniz.
.NET MAUI Community Toolkit