Mode couleur hérité de VisualElement sur iOS
Certaines vues Xamarin.Forms présentent un mode de couleur hérité. Dans ce mode, lorsque la IsEnabled
propriété de la vue est définie false
sur , la vue remplace les couleurs définies par l’utilisateur par les couleurs natives par défaut pour l’état désactivé. Pour la compatibilité descendante, ce mode de couleur hérité reste le comportement par défaut pour les vues prises en charge.
Cette plateforme iOS désactive ce mode de couleur hérité sur un VisualElement
, de sorte que les couleurs définies sur une vue par l’utilisateur restent même lorsque la vue est désactivée. Elle est consommée en XAML en définissant la VisualElement.IsLegacyColorModeEnabled
propriété jointe sur 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>
Elle peut également être consommée à partir de C# à l’aide de l’API Fluent :
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
_legacyColorModeDisabledButton.On<iOS>().SetIsLegacyColorModeEnabled(false);
La VisualElement.On<iOS>
méthode spécifie que cette plateforme ne s’exécutera que sur iOS. La VisualElement.SetIsLegacyColorModeEnabled
méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific
de noms, est utilisée pour contrôler si le mode de couleur hérité est désactivé. En outre, la VisualElement.GetIsLegacyColorModeEnabled
méthode peut être utilisée pour retourner si le mode de couleur hérité est désactivé.
Le résultat est que le mode de couleur hérité peut être désactivé, de sorte que les couleurs définies sur une vue par l’utilisateur restent même lorsque la vue est désactivée :
Remarque
Lors de la définition d’une VisualStateGroup
vue, le mode de couleur hérité est complètement ignoré. Pour plus d’informations sur les états visuels, consultez Le Xamarin.Forms Gestionnaire d’état visuel.