Starší barevný režim VisualElement v iOSu
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í.
Tento specifický pro platformu iOS zakáže tento starší barevný režim na zařízení VisualElement
, 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:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
...
<Button Text="Button"
TextColor="Blue"
BackgroundColor="Bisque"
ios: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.iOSSpecific;
...
_legacyColorModeDisabledButton.On<iOS>().SetIsLegacyColorModeEnabled(false);
Metoda VisualElement.On<iOS>
určuje, že se tato platforma bude spouštět pouze v iOSu. Metoda VisualElement.SetIsLegacyColorModeEnabled
v Xamarin.Forms.PlatformConfiguration.iOSSpecific
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.