TextPointer.IsInSameDocument(TextPointer) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Indica si la posición especificada está en el mismo contenedor de texto que la posición actual.
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
TextPointer que especifica una posición para comparar a la posición actual.
Devoluciones
true
si textPosition
indica una posición que está en el mismo contenedor de texto que la posición actual; de lo contrario, false
.
Excepciones
textPosition
es null
.
Ejemplos
En el ejemplo siguiente se muestra un uso para este método. En el ejemplo se usa el IsInSameDocument método para comprobar si un especificado TextPointer se coloca entre dos otras instancias especificadas TextPointer en una situación cuando no hay ninguna garantía de que las tres posiciones pertenezcan al mismo contenedor 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
Comentarios
La mayoría de las operaciones que implican varias TextPointer instancias solo son válidas si las instancias en cuestión indican posiciones que están en el mismo ámbito de contenedor de texto. Por ejemplo, los CompareTo métodos y GetOffsetToPosition no se pueden usar con para TextPointer una posición fuera del contenedor de texto asociado a la posición actual. Utilice este método para comprobar que un especificado TextPointer es compatible con la posición actual para estas operaciones.