TextPatternRange.GetText(Int32) Method

Definition

Returns the plain text of the text range.

public string GetText (int maxLength);

Parameters

maxLength
Int32

The maximum length of the string to return. Use -1 if no limit is required.

Returns

The plain text of the text range, possibly truncated at the specified maxLength.

Exceptions

If maxLength is less than -1.

Examples

 private String TextFromSelection(AutomationElement target, Int32 length)
{
    // Specify the control type we're looking for, in this case 'Document'
    PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

    // target --> The root AutomationElement.
    AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

    TextPattern textpatternPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

    if (textpatternPattern == null)
    {
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
        return null;
    }
    TextPatternRange[] currentSelection = textpatternPattern.GetSelection();

    // GetText(-1) retrieves all characters but can be inefficient
    return currentSelection[0].GetText(length);
}

Remarks

GetText respects both hidden and visible text. The UI Automation client can check the IsHiddenAttribute for text visibility.

If maxLength is greater than the length of the text span of the caller, the string returned will be the plain text of the text range.

GetText will not be affected by the order of endpoints in the text flow; it will always return the text between the Start and End endpoints of the text range in the logical text flow order.

Applies to

Produkt Versjoner
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

See also