TextPointer.GetPositionAtOffset 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í.
Devuelve TextPointer a la posición indicada por el desplazamiento especificado, en símbolos, a partir del principio del contenido.
Sobrecargas
GetPositionAtOffset(Int32, LogicalDirection) |
Devuelve TextPointer a la posición indicada por el desplazamiento especificado, en símbolos, a partir del principio del TextPointer actual y en la dirección especificada. |
GetPositionAtOffset(Int32) |
Devuelve TextPointer a la posición indicada por el desplazamiento especificado, en símbolos, a partir del principio del TextPointer actual. |
GetPositionAtOffset(Int32, LogicalDirection)
Devuelve TextPointer a la posición indicada por el desplazamiento especificado, en símbolos, a partir del principio del TextPointer actual y en la dirección especificada.
public:
System::Windows::Documents::TextPointer ^ GetPositionAtOffset(int offset, System::Windows::Documents::LogicalDirection direction);
public System.Windows.Documents.TextPointer GetPositionAtOffset (int offset, System.Windows.Documents.LogicalDirection direction);
member this.GetPositionAtOffset : int * System.Windows.Documents.LogicalDirection -> System.Windows.Documents.TextPointer
Public Function GetPositionAtOffset (offset As Integer, direction As LogicalDirection) As TextPointer
Parámetros
- offset
- Int32
Un desplazamiento, en símbolos, para el que calcular y devolver la posición. Si el desplazamiento es negativo, el TextPointer devuelto precede al TextPointer actual; de lo contrario, le sigue.
- direction
- LogicalDirection
Uno de los valores de LogicalDirection que especifica la dirección lógica del TextPointer devuelto.
Devoluciones
TextPointer a la posición indicada por el desplazamiento especificado o null
si el desplazamiento se extiende más allá del final del contenido.
Comentarios
Cualquiera de los siguientes se considera un símbolo:
Una etiqueta de apertura o cierre para el TextElement elemento.
Elemento UIElement contenido en o InlineUIContainer BlockUIContainer. Tenga en cuenta que este tipo UIElement siempre se cuenta como exactamente un símbolo; cualquier contenido o elementos adicionales contenidos por no UIElement se cuentan como símbolos.
Carácter Unicode de 16 bits dentro de un elemento de texto Run .
Consulte también
Se aplica a
GetPositionAtOffset(Int32)
Devuelve TextPointer a la posición indicada por el desplazamiento especificado, en símbolos, a partir del principio del TextPointer actual.
public:
System::Windows::Documents::TextPointer ^ GetPositionAtOffset(int offset);
public System.Windows.Documents.TextPointer GetPositionAtOffset (int offset);
member this.GetPositionAtOffset : int -> System.Windows.Documents.TextPointer
Public Function GetPositionAtOffset (offset As Integer) As TextPointer
Parámetros
- offset
- Int32
Un desplazamiento, en símbolos, para el que calcular y devolver la posición. Si el desplazamiento es negativo, la posición se calcula en la dirección lógica contraria a la indicada por la propiedad LogicalDirection.
Devoluciones
TextPointer a la posición indicada por el desplazamiento especificado o null
si no se encuentra ninguna posición correspondiente.
Ejemplos
En el ejemplo siguiente se muestra un uso para este método. En el ejemplo se usa el GetPositionAtOffset método para implementar un par de métodos, uno para calcular el desplazamiento a una posición especificada en relación con cualquier párrafo de hospedaje y el otro para devolver un TextPointer objeto a un desplazamiento especificado en un párrafo especificado.
// Returns the offset for the specified position relative to any containing paragraph.
int GetOffsetRelativeToParagraph(TextPointer position)
{
// Adjust the pointer to the closest forward insertion position, and look for any
// containing paragraph.
Paragraph paragraph = (position.GetInsertionPosition(LogicalDirection.Forward)).Paragraph;
// Some positions may be not within any Paragraph;
// this method returns an offset of -1 to indicate this condition.
return (paragraph == null) ? -1 : paragraph.ContentStart.GetOffsetToPosition(position);
}
// Returns a TextPointer to a specified offset into a specified paragraph.
TextPointer GetTextPointerRelativeToParagraph(Paragraph paragraph, int offsetRelativeToParagraph)
{
// Verify that the specified offset falls within the specified paragraph. If the offset is
// past the end of the paragraph, return a pointer to the farthest offset position in the paragraph.
// Otherwise, return a TextPointer to the specified offset in the specified paragraph.
return (offsetRelativeToParagraph > paragraph.ContentStart.GetOffsetToPosition(paragraph.ContentEnd))
? paragraph.ContentEnd : paragraph.ContentStart.GetPositionAtOffset(offsetRelativeToParagraph);
}
' Returns the offset for the specified position relative to any containing paragraph.
Private Function GetOffsetRelativeToParagraph(ByVal position As TextPointer) As Integer
' Adjust the pointer to the closest forward insertion position, and look for any
' containing paragraph.
Dim paragraph As Paragraph = (position.GetInsertionPosition(LogicalDirection.Forward)).Paragraph
' Some positions may be not within any Paragraph
' this method returns an offset of -1 to indicate this condition.
Return If((paragraph Is Nothing), -1, paragraph.ContentStart.GetOffsetToPosition(position))
End Function
' Returns a TextPointer to a specified offset into a specified paragraph.
Private Function GetTextPointerRelativeToParagraph(ByVal paragraph As Paragraph, ByVal offsetRelativeToParagraph As Integer) As TextPointer
' Verify that the specified offset falls within the specified paragraph. If the offset is
' past the end of the paragraph, return a pointer to the farthest offset position in the paragraph.
' Otherwise, return a TextPointer to the specified offset in the specified paragraph.
Return If((offsetRelativeToParagraph > paragraph.ContentStart.GetOffsetToPosition(paragraph.ContentEnd)), paragraph.ContentEnd, paragraph.ContentStart.GetPositionAtOffset(offsetRelativeToParagraph))
End Function
Comentarios
Cualquiera de los siguientes se considera un símbolo:
Una etiqueta de apertura o cierre para el TextElement elemento.
Elemento UIElement contenido en o InlineUIContainer BlockUIContainer. Tenga en cuenta que este tipo UIElement siempre se cuenta como exactamente un símbolo; cualquier contenido o elementos adicionales contenidos por no UIElement se cuentan como símbolos.
Carácter Unicode de 16 bits dentro de un elemento de texto Run .