Windows 上的 InputView 閱讀順序
此 通用 Windows 平台 平臺特定,可讓您動態偵測、 Editor
和 Label
實例中的Entry
雙向文字閱讀順序(由左至右或由右至左)。 XAML 中會藉由將 (for Entry
和 Editor
instances) 或Label.DetectReadingOrderFromContent
附加屬性設定InputView.DetectReadingOrderFromContent
為boolean
值,以取用它:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<Editor ... windows:InputView.DetectReadingOrderFromContent="true" />
...
</StackLayout>
</ContentPage>
或者,您可以使用 Fluent API 從 C# 取用它:
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
屬性,從其文字內容偵測閱讀順序的檢視邏輯不會影響檢視內文字的對齊方式。 相反地,它會調整雙向文字區塊配置的順序。