TextPointer.IsInSameDocument(TextPointer) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Indica se a posição especificada está no mesmo recipiente de texto que a posição atual.
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
Parâmetros
- textPosition
- TextPointer
A TextPointer que especifica uma posição a comparar com a posição atual.
Devoluções
true se textPosition indica uma posição que está no mesmo contentor de texto que a posição atual; caso contrário, false.
Exceções
textPosition é null.
Exemplos
O exemplo seguinte demonstra a utilização deste método. O exemplo utiliza o IsInSameDocument método para verificar se um especificado TextPointer está posicionado entre duas outras instâncias especificadas TextPointer numa situação em que não há garantia de que as três posições pertencem ao mesmo contentor de texto.
// 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
Observações
A maioria das operações que envolvem múltiplas TextPointer instâncias só é válida se as instâncias em questão indicarem posições que estejam no mesmo âmbito do contentor de texto. Por exemplo, os CompareTo métodos e GetOffsetToPosition não podem ser usados com a TextPointer to uma posição fora do contentor de texto associado à posição atual. Use este método para verificar se um especificado TextPointer é compatível com a posição atual para tais operações.