Mode Warna Warisan VisualElement di Windows
Xamarin.Forms Beberapa tampilan menampilkan mode warna warisan. Dalam mode ini, ketika IsEnabled
properti tampilan diatur ke false
, tampilan akan mengambil alih warna yang diatur oleh pengguna dengan warna asli default untuk status dinonaktifkan. Untuk kompatibilitas mundur, mode warna warisan ini tetap menjadi perilaku default untuk tampilan yang didukung.
Ini Platform Windows Universal khusus platform menonaktifkan mode warna warisan ini, sehingga warna yang diatur pada tampilan oleh pengguna tetap bahkan ketika tampilan dinonaktifkan. Ini digunakan dalam XAML dengan mengatur VisualElement.IsLegacyColorModeEnabled
properti terlampir ke false
:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
...
<Editor Text="Enter text here"
TextColor="Blue"
BackgroundColor="Bisque"
windows:VisualElement.IsLegacyColorModeEnabled="False" />
...
</StackLayout>
</ContentPage>
Atau, dapat dikonsumsi dari C# menggunakan API fasih:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
_legacyColorModeDisabledEditor.On<Windows>().SetIsLegacyColorModeEnabled(false);
Metode VisualElement.On<Windows>
menentukan bahwa khusus platform ini hanya akan berjalan pada Windows. Metode VisualElement.SetIsLegacyColorModeEnabled
ini, di Xamarin.Forms.PlatformConfiguration.WindowsSpecific
namespace, digunakan untuk mengontrol apakah mode warna warisan dinonaktifkan. Selain itu, VisualElement.GetIsLegacyColorModeEnabled
metode ini dapat digunakan untuk mengembalikan apakah mode warna warisan dinonaktifkan.
Hasilnya adalah bahwa mode warna warisan dapat dinonaktifkan, sehingga warna yang diatur pada tampilan oleh pengguna tetap bahkan ketika tampilan dinonaktifkan:
Catatan
Saat mengatur VisualStateGroup
pada tampilan, mode warna warisan sepenuhnya diabaikan. Untuk informasi selengkapnya tentang status visual, lihat Xamarin.Forms Visual State Manager.