Aracılığıyla paylaş


TextPatternRange.CompareEndpoints Yöntem

Tanım

İki metin aralığının aynı uç noktalara sahip olup olmadığını belirten bir Int32 döndürür.

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

Parametreler

endpoint
TextPatternRangeEndpoint

Çağıranın Start veya End uç noktası.

targetRange
TextPatternRange

Karşılaştırma için hedef aralık.

targetEndpoint
TextPatternRangeEndpoint

Hedefin Start veya End uç noktası.

Döndürülenler

Int32

Çağıranın uç noktası metinde hedef uç noktadan daha önce oluşuyorsa negatif bir değer döndürür.

Çağıranın uç noktası hedef uç noktayla aynı konumdaysa sıfır döndürür.

Çağıranın uç noktası metinde hedef uç noktadan daha sonra oluşuyorsa pozitif bir değer döndürür.

Özel durumlar

Aralık null başvuruysa (NothingVisual Basic).

Aralık başka bir kapsayıcıdansa.

Örnekler

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

Açıklamalar

Aynı metin aralığının başlangıç ve bitiş uç noktalarını karşılaştırarak, metin aralığının bozuk olup olmadığını veya uç noktaların mantıksal metin akışı sırasına uygun olup olmadığını belirleyebilirsiniz.

Şunlara uygulanır

Ayrıca bkz.