TextReadingOrder TextReadingOrder TextReadingOrder TextReadingOrder Enum


Provides a value for TextReadingOrder properties.

public : enum class TextReadingOrder
enum class winrt::Windows::UI::Xaml::TextReadingOrder : int32_t
public enum TextReadingOrder
Public Enum TextReadingOrder
<object property="textReadingOrderMemberName"/>
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


Default Default Default Default

Do not detect flow direction from content. Use FlowDirection value (if any) for reading order decisions. (Windows 8.1)

DetectFromContent DetectFromContent DetectFromContent DetectFromContent

Detect flow direction from text content. For bidirectional text, text containers will infer the reading order for text based on the content. See Remarks.

UseFlowDirection UseFlowDirection UseFlowDirection UseFlowDirection

Do not detect flow direction from content. Use FlowDirection value (if any) for reading order decisions. (Starting with Windows 10)



Starting with Windows 10, the enumeration value 0 has the constant name UseFlowDirection.

The TextReadingOrder properties influences the reading order (left-to-right or right-to-left) of individual UI elements that contain bidirectional text. These properties can be set to TextReadingOrder ="DetectFromContent" so that content can be detected dynamically, rather than using a FlowDirection property on a content parent. The DetectFromContent logic uses the first strong character in each paragraph to determine the reading direction for the paragraph, based on the Unicode Bidirectional Algorithm, P2.

This property can be useful when the base direction of the text is unknown, and may not match the user's language or direction. For more info see How to support bidirectional UI.

If content is coming from data binding, this avoids the need for binding to FlowDirection with a converter that interprets right-to-left locale info that comes from the data.

Unlike FlowDirection and its logic, the reading order logic for DetectFromContent will not affect the alignment of the text within the text control, it just adjusts the order in which blocks of bidirectional text are laid out.

See Also