Порядок чтения InputView в Windows
Этот универсальная платформа Windows для платформы позволяет упорядочить чтение (слева направо или справа налево) двунаправленного текста в Entry
, Editor
а Label
также динамически обнаруживать экземпляры. Он используется в XAML путем задания InputView.DetectReadingOrderFromContent
свойства (для Entry
и Editor
экземпляров) или Label.DetectReadingOrderFromContent
присоединенного свойства к значению boolean
:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<Editor ... windows:InputView.DetectReadingOrderFromContent="true" />
...
</StackLayout>
</ContentPage>
Кроме того, его можно использовать из C# с помощью api fluent:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
editor.On<Windows>().SetDetectReadingOrderFromContent(true);
Метод Editor.On<Windows>
указывает, что эта платформа будет выполняться только в универсальная платформа Windows. Метод InputView.SetDetectReadingOrderFromContent
в Xamarin.Forms.PlatformConfiguration.WindowsSpecific
пространстве имен используется для управления обнаружением порядка чтения из содержимого в объекте InputView
. Кроме того, InputView.SetDetectReadingOrderFromContent
метод можно использовать для переключения порядка чтения из содержимого путем вызова InputView.GetDetectReadingOrderFromContent
метода для возврата текущего значения:
editor.On<Windows>().SetDetectReadingOrderFromContent(!editor.On<Windows>().GetDetectReadingOrderFromContent());
Результатом является то, что Entry
Editor
Label
экземпляры могут иметь порядок чтения их содержимого, обнаруженный динамически:
Примечание.
В отличие от задания FlowDirection
свойства, логика представлений, обнаруживающих порядок чтения из текстового содержимого, не влияет на выравнивание текста в представлении. Вместо этого он корректирует порядок, в котором выкладываются блоки двунаправленного текста.