TextPointer.IsInSameDocument(TextPointer) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wskazuje, czy określona pozycja znajduje się w tym samym kontenerze tekstowym co bieżąca pozycja.
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
Parametry
- textPosition
- TextPointer
Element TextPointer określający pozycję do porównania z bieżącą pozycją.
Zwraca
true
jeśli textPosition
wskazuje położenie, które znajduje się w tym samym kontenerze tekstowym co bieżąca pozycja; w przeciwnym razie false
.
Wyjątki
textPosition
to null
.
Przykłady
W poniższym przykładzie pokazano użycie tej metody. W przykładzie użyto metody w IsInSameDocument celu sprawdzenia, czy określona TextPointer pozycja jest umieszczona między dwoma innymi określonymi TextPointer wystąpieniami w sytuacji, gdy nie ma gwarancji, że wszystkie trzy pozycje należą do tego samego kontenera tekstowego.
// 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
Uwagi
Większość operacji obejmujących wiele TextPointer wystąpień jest prawidłowa tylko wtedy, gdy w danym wystąpieniu znajdują się pozycje, które znajdują się w tym samym zakresie kontenera tekstowego. Na przykład CompareTo metody i GetOffsetToPosition nie mogą być używane z wartością do TextPointer położenia poza kontenerem tekstowym skojarzonym z bieżącą pozycją. Użyj tej metody, aby sprawdzić, czy określona TextPointer pozycja jest zgodna z bieżącą pozycją dla takich operacji.