TextPatternRange.CompareEndpoints Methode

Definition

Gibt einen Int32 Wert zurück, der angibt, ob zwei Textbereiche identische Endpunkte aufweisen.

public:
 int CompareEndpoints(System::Windows::Automation::Text::TextPatternRangeEndpoint endpoint, System::Windows::Automation::Text::TextPatternRange ^ targetRange, System::Windows::Automation::Text::TextPatternRangeEndpoint targetEndpoint);
public int CompareEndpoints(System.Windows.Automation.Text.TextPatternRangeEndpoint endpoint, System.Windows.Automation.Text.TextPatternRange targetRange, System.Windows.Automation.Text.TextPatternRangeEndpoint targetEndpoint);
member this.CompareEndpoints : System.Windows.Automation.Text.TextPatternRangeEndpoint * System.Windows.Automation.Text.TextPatternRange * System.Windows.Automation.Text.TextPatternRangeEndpoint -> int
Public Function CompareEndpoints (endpoint As TextPatternRangeEndpoint, targetRange As TextPatternRange, targetEndpoint As TextPatternRangeEndpoint) As Integer

Parameter

endpoint
TextPatternRangeEndpoint

Der Start oder End Endpunkt des Anrufers.

targetRange
TextPatternRange

Der Zielbereich für den Vergleich.

targetEndpoint
TextPatternRangeEndpoint

Der Start oder End Endpunkt des Ziels.

Gibt zurück

Gibt einen negativen Wert zurück, wenn der Endpunkt des Aufrufers früher im Text als der Zielendpunkt auftritt.

Gibt Null zurück, wenn sich der Endpunkt des Anrufers an demselben Ort wie der Zielendpunkt befindet.

Gibt einen positiven Wert zurück, wenn der Endpunkt des Aufrufers später im Text als der Zielendpunkt auftritt.

Ausnahmen

Wenn der Bereich ein NULL-Bezug ist (Nothing in Visual Basic).

Wenn der Bereich von einem anderen Container stammt.

Beispiele

private Int32 CompareRangeEndpoints(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 0;
    }
    TextPatternRange[] currentSelections = textpatternPattern.GetSelection();
    TextPatternRange[] currentVisibleRanges = textpatternPattern.GetVisibleRanges();
    return currentSelections[0].CompareEndpoints(
        TextPatternRangeEndpoint.Start, 
        currentVisibleRanges[0], 
        TextPatternRangeEndpoint.Start);
}
Private Function CompareRangeEndpoints(ByVal target As AutomationElement) As Integer
    ' 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 currentVisibleRanges As TextPatternRange() = textpatternPattern.GetVisibleRanges()
    Return currentSelection(0).CompareEndpoints(TextPatternRangeEndpoint.Start, _
                                         currentVisibleRanges(0), _
                                         TextPatternRangeEndpoint.Start)
End Function

Hinweise

Wenn Sie die Anfangs- und Endendpunkte desselben Textbereichs vergleichen, können Sie ermitteln, ob ein Textbereich degeneriert wird oder ob sich die Endpunkte in der Reihenfolge des logischen Textflusses befinden.

Gilt für:

Weitere Informationen