Sdílet prostřednictvím


Pořadí čtení InputView ve Windows

Tato Univerzální platforma Windows specifická pro platformu umožňuje dynamické zjišťování pořadí čtení (zleva doprava nebo zprava doleva) obousměrného textu a EntryEditorLabel instance. Využívá se v XAML nastavením InputView.DetectReadingOrderFromContent vlastnosti (pro Entry a Editor instance) nebo Label.DetectReadingOrderFromContent připojené vlastnosti k hodnotě boolean :

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

Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:

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

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

Metoda Editor.On<Windows> určuje, že tato konkrétní platforma se bude spouštět pouze na Univerzální platforma Windows. Metoda InputView.SetDetectReadingOrderFromContent v Xamarin.Forms.PlatformConfiguration.WindowsSpecific oboru názvů slouží k řízení, zda je pořadí čtení zjištěno z obsahu v objektu InputView. Kromě toho lze metodu InputView.SetDetectReadingOrderFromContent použít k přepnutí, zda je pořadí čtení zjištěno z obsahu voláním InputView.GetDetectReadingOrderFromContent metody pro vrácení aktuální hodnoty:

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

Výsledkem je, že Entry, Editora Label instance mohou mít pořadí čtení jejich obsahu zjištěn dynamicky:

InputView zjišťuje pořadí čtení z konkrétní platformy obsahu.

Poznámka:

Na rozdíl od nastavení FlowDirection vlastnosti logika pro zobrazení, která detekují pořadí čtení z textového obsahu, nebude mít vliv na zarovnání textu v zobrazení. Místo toho upraví pořadí, ve kterém jsou rozloženy bloky obousměrného textu.