TextPointer.IsInSameDocument(TextPointer) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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.