Partilhar via


TextPointer.IsInSameDocument(TextPointer) Método

Definição

Indica se a posição especificada estiver no mesmo contêiner de texto que a posição atual.

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

Parâmetros

textPosition
TextPointer

Um TextPointer que especifica uma posição para comparar à posição atual.

Retornos

Boolean

true se textPosition indicar uma posição que estiver no mesmo contêiner de texto que a posição atual; caso contrário, false.

Exceções

textPosition é null.

Exemplos

O exemplo a seguir demonstra um uso para esse método. O exemplo usa o IsInSameDocument método para verificar se um especificado TextPointer está posicionado entre duas outras instâncias especificadas TextPointer em uma situação quando não há garantia de que todas as três posições pertencem ao mesmo contêiner de texto.

// 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

Comentários

A maioria das operações que envolvem várias TextPointer instâncias só será válida se as instâncias em questão indicarem posições que estão no mesmo escopo de contêiner de texto. Por exemplo, os métodos e os CompareTo GetOffsetToPosition métodos não podem ser usados com uma TextPointer posição fora do contêiner de texto associado à posição atual. Use esse método para verificar se um especificado TextPointer é compatível com a posição atual para essas operações.

Aplica-se a