Ordre de lecture InputView sur Windows
Cette plateforme Windows universelle propre à la plateforme permet de détecter dynamiquement l’ordre de lecture (de gauche à droite ou de droite à gauche) du texte bidirectionnel dans Entry
, Editor
et Label
les instances doivent être détectées dynamiquement. Elle est consommée en XAML en définissant la InputView.DetectReadingOrderFromContent
propriété (pour Entry
et Editor
les instances) ou Label.DetectReadingOrderFromContent
jointe sur une boolean
valeur :
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<Editor ... windows:InputView.DetectReadingOrderFromContent="true" />
...
</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.WindowsSpecific;
...
editor.On<Windows>().SetDetectReadingOrderFromContent(true);
La Editor.On<Windows>
méthode spécifie que cette plateforme spécifique ne s’exécutera que sur le plateforme Windows universelle. La méthode InputView.SetDetectReadingOrderFromContent
, dans l’espace Xamarin.Forms.PlatformConfiguration.WindowsSpecific
de noms, est utilisée pour contrôler si l’ordre de lecture est détecté à partir du contenu dans le InputView
. En outre, la méthode InputView.SetDetectReadingOrderFromContent
peut être utilisée pour désactiver si l’ordre de lecture est détecté à partir du contenu en appelant la méthode InputView.GetDetectReadingOrderFromContent
pour retourner la valeur actuelle :
editor.On<Windows>().SetDetectReadingOrderFromContent(!editor.On<Windows>().GetDetectReadingOrderFromContent());
Le résultat est que , Editor
et Label
les Entry
instances peuvent avoir l’ordre de lecture de leur contenu détecté dynamiquement :
Remarque
Contrairement à la définition de la propriété FlowDirection
, la logique des vues qui détectent l’ordre de lecture à partir de leur contenu de texte n’affecte pas l’alignement du texte dans l’affichage. Au lieu de cela, il ajuste l’ordre dans lequel les blocs de texte bidirectionnel sont disposés.