Starší barevný režim VisualElement ve Windows
Některá zobrazení Xamarin.Forms mají starší režim barev. V tomto režimu, když IsEnabled
je vlastnost zobrazení nastavena na false
, zobrazení přepíše barvy nastavené uživatelem s výchozími nativními barvami pro zakázaný stav. Kvůli zpětné kompatibilitě zůstává tento starší barevný režim výchozím chováním podporovaných zobrazení.
Tato Univerzální platforma Windows specifická pro platformu zakáže tento starší barevný režim, aby barvy nastavené v zobrazení uživatelem zůstaly i v případě, že je zobrazení zakázané. Využívá se v XAML nastavením VisualElement.IsLegacyColorModeEnabled
připojené vlastnosti na 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>
Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
_legacyColorModeDisabledEditor.On<Windows>().SetIsLegacyColorModeEnabled(false);
Metoda VisualElement.On<Windows>
určuje, že tato konkrétní platforma bude běžet pouze ve Windows. Metoda VisualElement.SetIsLegacyColorModeEnabled
v Xamarin.Forms.PlatformConfiguration.WindowsSpecific
oboru názvů slouží k řízení, zda je starší barevný režim zakázán. Kromě toho lze metodu VisualElement.GetIsLegacyColorModeEnabled
použít k vrácení, zda je starší barevný režim zakázán.
Výsledkem je, že starší režim barev je možné zakázat, takže barvy nastavené v zobrazení uživatelem zůstanou i v případě, že je zobrazení zakázané:
Poznámka:
Při nastavování VisualStateGroup
zobrazení je starší barevný režim zcela ignorován. Další informace o stavech vizuálů naleznete v tématu Správce stavu vizuáluXamarin.Forms.