共用方式為


Windows 上的 InputView 閱讀順序

此 通用 Windows 平台 平臺特定,可讓您動態偵測、 EditorLabel 實例中的Entry雙向文字閱讀順序(由左至右或由右至左)。 XAML 中會藉由將 (for EntryEditor instances) 或Label.DetectReadingOrderFromContent附加屬性設定InputView.DetectReadingOrderFromContentboolean值,以取用它:

<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());

結果是 EntryEditorLabel 實例可以動態偵測到其內容的讀取順序:

InputView 偵測來自內容平臺特定閱讀順序的輸入檢視

注意

不同於設定 FlowDirection 屬性,從其文字內容偵測閱讀順序的檢視邏輯不會影響檢視內文字的對齊方式。 相反地,它會調整雙向文字區塊配置的順序。