GetSelection Method
Collapse the table of content
Expand the table of content

TextPattern.GetSelection Method ()

 

Retrieves a collection of disjoint text ranges associated with the current text selection or selections.

Namespace:   System.Windows.Automation
Assembly:  UIAutomationClient (in UIAutomationClient.dll)

public TextPatternRange[] GetSelection()

Return Value

Type: System.Windows.Automation.Text.TextPatternRange[]

A collection of disjoint text ranges.

Exception Condition
InvalidOperationException

The text container does not support text selection.

If no text is selected, GetSelection returns the degenerate text range (empty range) at the position of the system cursor (text insertion point).

If the system cursor (text insertion point) is not present, GetSelection might return null.

System_CAPS_noteNote

Use the SupportedTextSelection property to test if text selection or positioning of the text insertion point is supported by the control.

private TextPatternRange CurrentSelection(AutomationElement target)
{
    // 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();
    return currentSelection[0];
}

.NET Framework
Available since 3.0
Return to top
Show:
© 2016 Microsoft