Partager via


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, Editoret 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 , Editoret Label les Entryinstances peuvent avoir l’ordre de lecture de leur contenu détecté dynamiquement :

InputView détectant l’ordre de lecture à partir d’une plateforme de contenu spécifique à la plateforme

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.