Bagikan melalui


Tema dalam C#

Semua platform yang didukung oleh .NET MAUI memberikan dukungan untuk mode terang dan gelap. Sangat penting untuk memperhitungkan hal ini ke dalam desain aplikasi untuk memberikan pengalaman terbaik bagi pengguna akhir. Paket Markup C# menyediakan kemampuan untuk menentukan nilai properti yang akan bertukar berdasarkan tema sistem saat ini (lihat dokumentasi Microsoft).

Ada dua cara untuk menentukan nilai tema aplikasi:

1. Pada spesifik BindableObject

Saat membangun antarmuka pengguna aplikasi dengan C# dimungkinkan untuk menentukan nilai untuk mode terang dan gelap dengan AppThemeBinding metode ekstensi.

Contoh berikut menunjukkan cara membuat Label dengan yang berikut ini:

  1. Atur Text properti untuk menampilkan "Mode Terang" saat sistem dalam mode terang dan "Mode Gelap" saat aplikasi berada dalam mode gelap.
  2. Atur properti ke TextColorColors.Black ketika sistem dalam mode terang dan Colors.White ketika aplikasi dalam mode gelap.
new Label()
    .AppThemeBinding(Label.TextProperty, "Light Mode", "Dark Mode")
    .AppThemeColorBinding(Label.TextColorProperty, Colors.Black, Colors.White);

2. Pada Style

Biasanya disarankan untuk membuat Style yang dapat berlaku untuk beberapa instans kontrol dan oleh karena itu menyederhanakan kode yang diperlukan untuk membangun antarmuka pengguna aplikasi. Untuk tujuan ini ada metode yang AppThemeBinding tersedia di Style<T> kelas .

Contoh berikut menunjukkan cara membuat Style untuk Label dengan perilaku yang sama dengan contoh sebelumnya:

  1. Atur Text properti untuk menampilkan "Mode Terang" saat sistem dalam mode terang dan "Mode Gelap" saat aplikasi berada dalam mode gelap.
  2. Atur properti ke TextColorColors.Black ketika sistem dalam mode terang dan Colors.White ketika aplikasi dalam mode gelap.
var labelStyle = new Style<Label>()
    .AddAppThemeBinding(Label.TextProperty, "Light Mode", "Dark Mode")
    .AddAppThemeBinding(Label.TextColorProperty, Colors.Black, Colors.White);

new Label
{
    Style = labelStyle
};