TextPointer.GetPositionAtOffset Metodo

Definizione

Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio del contenuto.Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of content.

Overload

GetPositionAtOffset(Int32, LogicalDirection)

Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio dell'oggetto TextPointer corrente e nella direzione specificata.Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of the current TextPointer and in the specified direction.

GetPositionAtOffset(Int32)

Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio dell'oggetto TextPointer corrente.Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of the current TextPointer.

GetPositionAtOffset(Int32, LogicalDirection)

Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio dell'oggetto TextPointer corrente e nella direzione specificata.Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of the current TextPointer and in the specified direction.

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

Parametri

offset
Int32

Offset, in simboli, per il quale calcolare e restituire la posizione.An offset, in symbols, for which to calculate and return the position. Se l'offset è negativo, l'oggetto TextPointer restituito precede l'oggetto TextPointer corrente; in caso contrario, lo segue.If the offset is negative, the returned TextPointer precedes the current TextPointer; otherwise, it follows.

direction
LogicalDirection

Uno dei valori LogicalDirection che specificano la direzione logica dell'oggetto TextPointer restituito.One of the LogicalDirection values that specifies the logical direction of the returned TextPointer.

Restituisce

Oggetto TextPointer nella posizione indicata dall'offset specificato o null se l'offset si estende oltre la fine del contenuto.A TextPointer to the position indicated by the specified offset, or null if the offset extends past the end of the content.

Commenti

Uno dei seguenti è considerato un simbolo:Any of the following is considered to be a symbol:

  • Tag di apertura o di chiusura per TextElement l'elemento.An opening or closing tag for the TextElement element.

  • Elemento contenuto in un oggetto InlineUIContainer o BlockUIContainer. UIElementA UIElement element contained in an InlineUIContainer or BlockUIContainer. Si noti che tale UIElement valore viene sempre conteggiato come un solo simbolo; eventuali elementi o contenuti aggiuntivi contenuti UIElement in non vengono conteggiati come simboli.Note that such a UIElement is always counted as exactly one symbol; any additional content or elements contained by the UIElement are not counted as symbols.

  • Carattere a 16 bit UnicodeUnicode all'interno di un elemento Run di testo.A 16-bit UnicodeUnicode character inside of a text Run element.

Vedi anche

GetPositionAtOffset(Int32)

Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio dell'oggetto TextPointer corrente.Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of the current TextPointer.

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

Parametri

offset
Int32

Offset, in simboli, per il quale calcolare e restituire la posizione.An offset, in symbols, for which to calculate and return the position. Se l'offset è negativo, la posizione viene calcolata nella direzione logica opposta a quella indicata dalla proprietà LogicalDirection.If the offset is negative, the position is calculated in the logical direction opposite of that indicated by the LogicalDirection property.

Restituisce

Oggetto TextPointer nella posizione indicata dall'offset specificato o null se non viene trovata una posizione corrispondente.A TextPointer to the position indicated by the specified offset, or null if no corresponding position can be found.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di questo metodo.The following example demonstrates a use for this method. Nell'esempio viene usato GetPositionAtOffset il metodo per implementare una coppia di metodi, uno per calcolare l'offset in una posizione specificata rispetto a qualsiasi paragrafo di hosting e l'altro per restituire TextPointer un oggetto a un offset specificato in un paragrafo specificato.The example uses the GetPositionAtOffset method to implement a pair of methods, one to calculate the offset to a specified position relative to any hosting paragraph, and the other to return a TextPointer to a specified offset in a specified paragraph.

// 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

Commenti

Uno dei seguenti è considerato un simbolo:Any of the following is considered to be a symbol:

  • Tag di apertura o di chiusura per TextElement l'elemento.An opening or closing tag for the TextElement element.

  • Elemento contenuto in un oggetto InlineUIContainer o BlockUIContainer. UIElementA UIElement element contained in an InlineUIContainer or BlockUIContainer. Si noti che tale UIElement valore viene sempre conteggiato come un solo simbolo; eventuali elementi o contenuti aggiuntivi contenuti UIElement in non vengono conteggiati come simboli.Note that such a UIElement is always counted as exactly one symbol; any additional content or elements contained by the UIElement are not counted as symbols.

  • Carattere a 16 bit UnicodeUnicode all'interno di un elemento Run di testo.A 16-bit UnicodeUnicode character inside of a text Run element.

Vedi anche

Si applica a