다음을 통해 공유


TextPatternRange.Compare(TextPatternRange) 메서드

정의

텍스트의 범위(Start 엔드포인트에서 End 엔드포인트까지)가 다른 텍스트 범위와 동일한지 여부를 나타내는 Boolean 값을 반환합니다.

public:
 bool Compare(System::Windows::Automation::Text::TextPatternRange ^ range);
public bool Compare (System.Windows.Automation.Text.TextPatternRange range);
member this.Compare : System.Windows.Automation.Text.TextPatternRange -> bool
Public Function Compare (range As TextPatternRange) As Boolean

매개 변수

range
TextPatternRange

비교할 텍스트 범위입니다.

반환

Boolean

두 텍스트 범위가 서로 같으면 true이고, 그렇지 않으면 false입니다.

예외

비교하는 범위를 같은 텍스트 공급자에서 가져오지 않은 경우

예제

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]);
}
Private Function CompareRanges(ByVal target As AutomationElement) As Boolean
    ' Specify the control type we're looking for, in this case 'Document'
    Dim cond As PropertyCondition = New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document)

    ' target --> The root AutomationElement.
    Dim textProvider As AutomationElement = target.FindFirst(TreeScope.Descendants, cond)

    Dim textpatternPattern As TextPattern = CType(textProvider.GetCurrentPattern(TextPattern.Pattern), TextPattern)

    If (textpatternPattern Is Nothing) Then
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.")
        Return Nothing
    End If
    Dim currentSelection As TextPatternRange() = textpatternPattern.GetSelection()
    Dim currentVisibleRange As TextPatternRange() = textpatternPattern.GetVisibleRanges()
    Return currentSelection(0).Compare(currentVisibleRange(0))
End Function

적용 대상

추가 정보