Tryb kolorów starszej wersji elementu VisualElement w systemie Windows
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.
To platforma uniwersalna systemu Windows specyficzne dla platformy wyłącza ten starszy tryb kolorów, dzięki czemu kolory ustawione w widoku przez użytkownika pozostają 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: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>
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.WindowsSpecific;
...
_legacyColorModeDisabledEditor.On<Windows>().SetIsLegacyColorModeEnabled(false);
Metoda VisualElement.On<Windows>
określa, że ta platforma będzie działać tylko w systemie Windows. Metoda VisualElement.SetIsLegacyColorModeEnabled
w Xamarin.Forms.PlatformConfiguration.WindowsSpecific
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.