Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Xamarin.Forms Niektóre widoki mają starszy tryb kolorów. W tym trybie, gdy IsEnabled właściwość widoku jest ustawiona na false, widok zastąpi kolory ustawione przez użytkownika przy użyciu domyślnych kolorów natywnych dla stanu wyłączonego. W przypadku zgodności z poprzednimi wersjami ten starszy tryb kolorów pozostaje zachowaniem domyślnym dla obsługiwanych widoków.
Ta platforma systemu Android wyłącza ten starszy tryb kolorów, dzięki czemu kolory ustawione w widoku przez użytkownika pozostaną nawet wtedy, gdy widok jest wyłączony. Jest on używany w języku XAML przez ustawienie dołączonej VisualElement.IsLegacyColorModeEnabled właściwości na wartość false:
<ContentPage ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
...
<Button Text="Button"
TextColor="Blue"
BackgroundColor="Bisque"
android:VisualElement.IsLegacyColorModeEnabled="False" />
...
</StackLayout>
</ContentPage>
Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...
_legacyColorModeDisabledButton.On<Android>().SetIsLegacyColorModeEnabled(false);
Metoda VisualElement.On<Android> określa, że ta platforma będzie działać tylko w systemie Android. Metoda VisualElement.SetIsLegacyColorModeEnabled w Xamarin.Forms.PlatformConfiguration.AndroidSpecific przestrzeni nazw służy do kontrolowania, czy starszy tryb kolorów jest wyłączony. Ponadto można użyć metody w celu zwrócenia, VisualElement.GetIsLegacyColorModeEnabled czy starszy tryb kolorów jest wyłączony.
W rezultacie można wyłączyć starszy tryb kolorów, dzięki czemu kolory ustawione w widoku przez użytkownika pozostaną nawet wtedy, gdy widok jest wyłączony:

Uwaga
W przypadku ustawiania VisualStateGroup widoku tryb starszego koloru jest całkowicie ignorowany. Aby uzyskać więcej informacji na temat stanów wizualizacji, zobacz Xamarin.Forms Visual State Manager.