Compartir a través de


TextPointer.IsInSameDocument(TextPointer) Método

Definición

Indica si la posición especificada está en el mismo contenedor de texto que la posición actual.

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

TextPointer que especifica una posición para comparar a la posición actual.

Devoluciones

Boolean

true si textPosition indica una posición que está en el mismo contenedor de texto que la posición actual; de lo contrario, false.

Excepciones

textPosition es null.

Ejemplos

En el ejemplo siguiente se muestra un uso para este método. En el ejemplo se usa el IsInSameDocument método para comprobar si un especificado TextPointer se coloca entre dos otras instancias especificadas TextPointer en una situación cuando no hay ninguna garantía de que las tres posiciones pertenezcan al mismo contenedor 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

Comentarios

La mayoría de las operaciones que implican varias TextPointer instancias solo son válidas si las instancias en cuestión indican posiciones que están en el mismo ámbito de contenedor de texto. Por ejemplo, los CompareTo métodos y GetOffsetToPosition no se pueden usar con para TextPointer una posición fuera del contenedor de texto asociado a la posición actual. Utilice este método para comprobar que un especificado TextPointer es compatible con la posición actual para estas operaciones.

Se aplica a