Share via


InputView-Lesereihenfolge unter Windows

Diese Universelle Windows-Plattform plattformspezifisch ermöglicht die dynamische Erkennung der Leserichtung (von links nach rechts oder von rechts nach links) bidirektionaler Text in Entry, Editorund Label Instanzen. Sie wird in XAML genutzt, indem sie die InputView.DetectReadingOrderFromContent Eigenschaft (für Entry und Editor Instanzen) oder Label.DetectReadingOrderFromContent angefügte Eigenschaft auf einen boolean Wert festlegt:

<ContentPage ...
             xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        <Editor ... windows:InputView.DetectReadingOrderFromContent="true" />
        ...
    </StackLayout>
</ContentPage>

Alternativ kann sie mit der Fluent-API von C# genutzt werden:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...

editor.On<Windows>().SetDetectReadingOrderFromContent(true);

Die Editor.On<Windows> Methode gibt an, dass diese plattformspezifische Nur auf dem Universelle Windows-Plattform ausgeführt wird. Mithilfe der Methode InputView.SetDetectReadingOrderFromContent im Namespace Xamarin.Forms.PlatformConfiguration.WindowsSpecific wird gesteuert, ob die Lesereihenfolge anhand des Inhalts in InputView erkannt wird. Darüber hinaus kann mit der Methode InputView.SetDetectReadingOrderFromContent umgeschaltet werden, ob die Lesereihenfolge anhand des Inhalts erkannt wird, indem die Methode InputView.GetDetectReadingOrderFromContent aufgerufen wird, um den aktuellen Wert zurückzugeben:

editor.On<Windows>().SetDetectReadingOrderFromContent(!editor.On<Windows>().GetDetectReadingOrderFromContent());

Das Ergebnis ist, dass Entry, Editorund Label Instanzen die Lesereihenfolge ihres Inhalts dynamisch erkannt haben können:

InputView erkennt lesereihenfolge von inhaltsplattformspezifischen Inhalten

Hinweis

Im Gegensatz zur Einstellung der Eigenschaft FlowDirection wirkt sich die Logik für Ansichten, die die Lesereihenfolge anhand ihres Textinhalts erkennen, nicht auf die Ausrichtung des Textes innerhalb der Ansicht aus. Stattdessen wird die Reihenfolge angepasst, in der die Blöcke mit bidirektionalem Text angeordnet sind.