TextPointer.IsInSameDocument(TextPointer) Metodo

Definizione

Indica se la posizione specificata si trova nello stesso contenitore di testo della posizione corrente.

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

Parametri

textPosition
TextPointer

Oggetto TextPointer che specifica una posizione da confrontare con la posizione corrente.

Restituisce

Boolean

true se textPosition indica una posizione che si trova nello stesso contenitore di testo della posizione corrente; in caso contrario, false.

Eccezioni

textPosition è null.

Esempio

Nell'esempio seguente viene illustrato un utilizzo per questo metodo. Nell'esempio viene utilizzato il IsInSameDocument metodo per verificare se un specificato TextPointer è posizionato tra due altre istanze specificate TextPointer in una situazione in cui non vi è alcuna garanzia che tutte e tre le posizioni appartengano allo stesso contenitore di testo.

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

Commenti

La maggior parte delle operazioni che coinvolgono più TextPointer istanze sono valide solo se le istanze in questione indicano posizioni che si trovano nello stesso ambito del contenitore di testo. Ad esempio, i CompareTo metodi e GetOffsetToPosition non possono essere utilizzati con un TextPointer oggetto per una posizione esterna al contenitore di testo associato alla posizione corrente. Utilizzare questo metodo per verificare che un specificato TextPointer sia compatibile con la posizione corrente per tali operazioni.

Si applica a