Edit

Share via


TextPatternRange.Compare(TextPatternRange) Method

Definition

Returns a Boolean value indicating whether the span (the Start endpoint to the End endpoint) of a text range is the same as another text range.

C#
public bool Compare(System.Windows.Automation.Text.TextPatternRange range);

Parameters

range
TextPatternRange

A text range to compare.

Returns

true if the span of both text ranges is identical; otherwise false.

Exceptions

If the range being compared does not come from the same text provider.

Examples

C#
private Boolean CompareRanges(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 false;
    }
    TextPatternRange[] currentSelection = textpatternPattern.GetSelection();
    TextPatternRange[] currentVisibleRanges = textpatternPattern.GetVisibleRanges();
    return currentSelection[0].Compare(currentVisibleRanges[0]);
}

Applies to

Product Versions
.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, 10

See also