Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Esta característica específica de la Plataforma universal de Windows específica permite detectar dinámicamente el orden de lectura (de izquierda a derecha o de derecha a izquierda) de texto bidireccional en instancias de Entry, Editor y Label. Se consume en XAML estableciendo la propiedad adjunta InputView.DetectReadingOrderFromContent (para las instancias Entry y Editor) o Label.DetectReadingOrderFromContent en un valor boolean:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<Editor ... windows:InputView.DetectReadingOrderFromContent="true" />
...
</StackLayout>
</ContentPage>
Como alternativa, se puede consumir desde C# mediante la API fluida:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
editor.On<Windows>().SetDetectReadingOrderFromContent(true);
El método Editor.On<Windows> especifica que esta característica especifica de la plataforma solo se ejecutará en la Plataforma universal de Windows. El método InputView.SetDetectReadingOrderFromContent, en el espacio de nombres Xamarin.Forms.PlatformConfiguration.WindowsSpecific, se usa para controlar si se detecta el orden de lectura a partir del contenido en InputView. Además, se puede usar el método InputView.SetDetectReadingOrderFromContent para alternar si se detecta el orden de lectura a partir del contenido, llamando al método InputView.GetDetectReadingOrderFromContent para que devuelva el valor actual:
editor.On<Windows>().SetDetectReadingOrderFromContent(!editor.On<Windows>().GetDetectReadingOrderFromContent());
El resultado es que el orden de lectura de las instancias de Entry, Editor y Label se puede detectar dinámicamente:
Nota:
A diferencia de la configuración de la propiedad FlowDirection, la lógica de las vistas que detectan el orden de lectura a partir de su contenido de texto no afectará a la alineación del texto dentro de la vista. En su lugar, ajusta el orden en el que se diseñan bloques de texto bidireccional.
