Устаревший цветовой режим VisualElement в Windows
Некоторые Xamarin.Forms представления имеют устаревший цветовой режим. В этом режиме, если IsEnabled
для свойства представления задано false
значение, представление переопределит цвета, заданные пользователем, с собственными цветами по умолчанию для отключенного состояния. Для обратной совместимости этот устаревший цветовой режим остается поведением по умолчанию для поддерживаемых представлений.
Этот универсальная платформа Windows для конкретной платформы отключает этот устаревший цветовой режим, чтобы цвета, заданные пользователем, оставались даже при отключении представления. Он используется в XAML, задав присоединенное VisualElement.IsLegacyColorModeEnabled
свойство следующим 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>
Кроме того, его можно использовать из C# с помощью api fluent:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
_legacyColorModeDisabledEditor.On<Windows>().SetIsLegacyColorModeEnabled(false);
Метод VisualElement.On<Windows>
указывает, что эта платформа будет работать только в Windows. Метод VisualElement.SetIsLegacyColorModeEnabled
в Xamarin.Forms.PlatformConfiguration.WindowsSpecific
пространстве имен используется для управления отключением устаревшего цветового режима. Кроме того, этот метод можно использовать для возврата того, VisualElement.GetIsLegacyColorModeEnabled
отключен ли устаревший цветовой режим.
Результатом является то, что устаревший цветовой режим можно отключить, чтобы цвета, заданные пользователем, оставались даже при отключении представления:
Примечание.
При настройке VisualStateGroup
представления устаревший цветовой режим полностью игнорируется. Дополнительные сведения о визуальных состояниях см. в разделе "Диспетчер визуальных состоянийXamarin.Forms".