Freigeben über


TextPointer.IsInSameDocument(TextPointer) Methode

Definition

Gibt an, ob sich die angegebene Position im gleichen Textcontainer wie die aktuelle Position befindet.

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

Parameter

textPosition
TextPointer

Ein TextPointer, der eine Position angibt, die mit der aktuellen Position verglichen werden soll.

Gibt zurück

Boolean

true, wenn mit textPosition eine Position angegeben wird, die sich im gleichen Textcontainer wie die aktuelle Position befindet, andernfalls false.

Ausnahmen

textPosition ist null.

Beispiele

Im folgenden Beispiel wird eine Verwendung für diese Methode veranschaulicht. Im Beispiel wird die IsInSameDocument Methode verwendet, um zu überprüfen, ob eine angegebene TextPointer Instanz zwischen zwei anderen angegebenen TextPointer Instanzen in einer Situation positioniert wird, wenn keine Garantie besteht, dass alle drei Positionen zum gleichen Textcontainer gehören.

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

Hinweise

Die meisten Vorgänge, die mehrere TextPointer Instanzen umfassen, sind nur gültig, wenn die betreffenden Instanzen Positionen angeben, die sich im gleichen Textcontainerbereich befinden. Beispielsweise können die CompareTo GetOffsetToPosition Methoden und Methoden nicht mit einer TextPointer Position außerhalb des Textcontainers verwendet werden, der der aktuellen Position zugeordnet ist. Verwenden Sie diese Methode, um zu überprüfen, ob ein angegebenes TextPointer Element mit der aktuellen Position für solche Vorgänge kompatibel ist.

Gilt für