Udostępnij za pośrednictwem


TextPointer.IsInSameDocument(TextPointer) Metoda

Definicja

Wskazuje, czy określona pozycja znajduje się w tym samym kontenerze tekstowym co bieżąca pozycja.

public:
 bool IsInSameDocument(System::Windows::Documents::TextPointer ^ textPosition);
public bool IsInSameDocument (System.Windows.Documents.TextPointer textPosition);
member this.IsInSameDocument : System.Windows.Documents.TextPointer -> bool
Public Function IsInSameDocument (textPosition As TextPointer) As Boolean

Parametry

textPosition
TextPointer

Element TextPointer określający pozycję do porównania z bieżącą pozycją.

Zwraca

Boolean

true jeśli textPosition wskazuje położenie, które znajduje się w tym samym kontenerze tekstowym co bieżąca pozycja; w przeciwnym razie false.

Wyjątki

textPosition to null.

Przykłady

W poniższym przykładzie pokazano użycie tej metody. W przykładzie użyto metody w IsInSameDocument celu sprawdzenia, czy określona TextPointer pozycja jest umieszczona między dwoma innymi określonymi TextPointer wystąpieniami w sytuacji, gdy nie ma gwarancji, że wszystkie trzy pozycje należą do tego samego kontenera tekstowego.

// This method first checks for compatible text container scope, and then checks whether
// a specified position is between two other specified positions.
bool IsPositionContainedBetween(TextPointer positionToTest, TextPointer start, TextPointer end)
{
    // Note that without this check, an exception will be raised by CompareTo if positionToTest 
    // does not point to a position that is in the same text container used by start and end.
    //
    // This test also implicitely indicates whether start and end share a common text container.
    if (!positionToTest.IsInSameDocument(start) || !positionToTest.IsInSameDocument(end)) 
        return false;
    
    return start.CompareTo(positionToTest) <= 0 && positionToTest.CompareTo(end) <= 0;
}
' This method first checks for compatible text container scope, and then checks whether
' a specified position is between two other specified positions.
Private Function IsPositionContainedBetween(ByVal positionToTest As TextPointer, ByVal start As TextPointer, ByVal [end] As TextPointer) As Boolean
    ' Note that without this check, an exception will be raised by CompareTo if positionToTest 
    ' does not point to a position that is in the same text container used by start and end.
    '
    ' This test also implicitely indicates whether start and end share a common text container.
    If (Not positionToTest.IsInSameDocument(start)) OrElse (Not positionToTest.IsInSameDocument([end])) Then
        Return False
    End If

    Return start.CompareTo(positionToTest) <= 0 AndAlso positionToTest.CompareTo([end]) <= 0
End Function

Uwagi

Większość operacji obejmujących wiele TextPointer wystąpień jest prawidłowa tylko wtedy, gdy w danym wystąpieniu znajdują się pozycje, które znajdują się w tym samym zakresie kontenera tekstowego. Na przykład CompareTo metody i GetOffsetToPosition nie mogą być używane z wartością do TextPointer położenia poza kontenerem tekstowym skojarzonym z bieżącą pozycją. Użyj tej metody, aby sprawdzić, czy określona TextPointer pozycja jest zgodna z bieżącą pozycją dla takich operacji.

Dotyczy