TextPointer.IsInSameDocument(TextPointer) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger om den angivna positionen finns i samma textcontainer som den aktuella positionen.
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
Parametrar
- textPosition
- TextPointer
En TextPointer som anger en position att jämföra med den aktuella positionen.
Returer
true if textPosition anger en position som är i samma textcontainer som den aktuella positionen, falseannars .
Undantag
textPosition är null.
Exempel
I följande exempel visas en användning för den här metoden. I exemplet används IsInSameDocument metoden för att kontrollera om en angiven TextPointer är placerad mellan två andra angivna TextPointer instanser i en situation när det inte finns någon garanti för att alla tre positionerna tillhör samma textcontainer.
// 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
Kommentarer
De flesta åtgärder som omfattar flera TextPointer instanser är endast giltiga om instanserna i fråga anger positioner som finns i samma textcontaineromfång. Metoderna och CompareTo kan till exempel GetOffsetToPosition inte användas med en TextPointer till en position utanför textcontainern som är associerad med den aktuella positionen. Använd den här metoden för att kontrollera att en angiven TextPointer är kompatibel med den aktuella positionen för sådana åtgärder.