Ordem de leitura do InputView no Windows
Essa plataforma específica da Plataforma Universal do Windows permite que a ordem de leitura (da esquerda para a direita ou da direita para a esquerda) de texto bidirecional no Entry
, Editor
e Label
instâncias sejam detectadas dinamicamente. Ele é consumido em XAML definindo a propriedade (para Entry
e Editor
instâncias) ou Label.DetectReadingOrderFromContent
anexada InputView.DetectReadingOrderFromContent
para um boolean
valor:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<Editor ... windows:InputView.DetectReadingOrderFromContent="true" />
...
</StackLayout>
</ContentPage>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
editor.On<Windows>().SetDetectReadingOrderFromContent(true);
O Editor.On<Windows>
método especifica que esse específico da plataforma só será executado na Plataforma Universal do Windows. O InputView.SetDetectReadingOrderFromContent
método, no Xamarin.Forms.PlatformConfiguration.WindowsSpecific
namespace, é usado para controlar se a ordem de leitura é detectada a partir do conteúdo no InputView
. Além disso, o InputView.SetDetectReadingOrderFromContent
método pode ser usado para alternar se a ordem de leitura é detectada a partir do conteúdo, chamando o InputView.GetDetectReadingOrderFromContent
método para retornar o valor atual:
editor.On<Windows>().SetDetectReadingOrderFromContent(!editor.On<Windows>().GetDetectReadingOrderFromContent());
O resultado é que Entry
as instâncias , Editor
e Label
podem ter a ordem de leitura de seu conteúdo detectada dinamicamente:
Observação
Ao contrário da definição da FlowDirection
propriedade, a lógica para modos de exibição que detectam a ordem de leitura de seu conteúdo de texto não afetará o alinhamento do texto dentro do modo de exibição. Em vez disso, ele ajusta a ordem em que os blocos de texto bidirecional são dispostos.