Freigeben über


TextPointer.GetPositionAtOffset Methode

Definition

Gibt einen TextPointer auf die Position zurück, die in Symbolen durch den ab dem Anfang des Inhalts bestimmten Offset angegeben wird.

Überlädt

GetPositionAtOffset(Int32, LogicalDirection)

Gibt einen TextPointer auf die Position zurück, die in Symbolen durch den ab dem Anfang des aktuellen TextPointer bestimmten Offset und in der angegebenen Richtung angegeben wird.

GetPositionAtOffset(Int32)

Gibt einen TextPointer auf die Position zurück, die in Symbolen durch den ab dem Anfang des aktuellen TextPointer bestimmten Offset angegeben wird.

GetPositionAtOffset(Int32, LogicalDirection)

Gibt einen TextPointer auf die Position zurück, die in Symbolen durch den ab dem Anfang des aktuellen TextPointer bestimmten Offset und in der angegebenen Richtung angegeben wird.

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

Parameter

offset
Int32

Ein Offset in Symbolen, für den die Position berechnet und zurückgegeben werden soll. Wenn der Offset negativ ist, steht der zurückgegebene TextPointer vor dem aktuellen TextPointer, andernfalls danach.

direction
LogicalDirection

Einer der LogicalDirection-Werte, mit denen die logische Richtung des zurückgegebenen TextPointer angegeben wird.

Gibt zurück

Ein TextPointer auf die Position, die durch den bestimmten Offset angegeben wird, oder null, wenn sich der Offset über das Ende des Inhalts hinaus erstreckt.

Hinweise

Eines der folgenden Elemente gilt als Symbol:

  • Ein öffnendes oder schließendes Tag für das TextElement -Element.

  • Ein UIElement Element, das in einem InlineUIContainer oder BlockUIContainerenthalten ist. Beachten Sie, dass ein UIElement solches Symbol immer genau als ein Symbol gezählt wird; alle zusätzlichen Inhalte oder Elemente, die von enthalten UIElement sind, werden nicht als Symbole gezählt.

  • Ein 16-Bit-Unicode-Zeichen innerhalb eines Textelements Run .

Weitere Informationen

Gilt für:

GetPositionAtOffset(Int32)

Gibt einen TextPointer auf die Position zurück, die in Symbolen durch den ab dem Anfang des aktuellen TextPointer bestimmten Offset angegeben wird.

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

Parameter

offset
Int32

Ein Offset in Symbolen, für den die Position berechnet und zurückgegeben werden soll. Wenn der Offset negativ ist, wird die Position in der logischen Richtung berechnet, die der mit der LogicalDirection-Eigenschaft angegebenen Richtung entgegengesetzt ist.

Gibt zurück

Ein TextPointer auf die Position, die von dem bestimmten Offset angegeben wird, oder null, wenn keine entsprechende Position gefunden werden kann.

Beispiele

Im folgenden Beispiel wird eine Verwendung für diese Methode veranschaulicht. Im Beispiel wird die GetPositionAtOffset -Methode verwendet, um ein Methodenpaar zu implementieren: eine zum Berechnen des Offsets zu einer angegebenen Position relativ zu einem beliebigen Hostabsatz und die andere zum Zurückgeben eines TextPointer zu einem angegebenen Offset in einem angegebenen Absatz.

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

Hinweise

Eines der folgenden Elemente gilt als Symbol:

  • Ein öffnendes oder schließendes Tag für das TextElement -Element.

  • Ein UIElement Element, das in einem InlineUIContainer oder BlockUIContainerenthalten ist. Beachten Sie, dass ein UIElement solches Symbol immer genau als ein Symbol gezählt wird; alle zusätzlichen Inhalte oder Elemente, die von enthalten UIElement sind, werden nicht als Symbole gezählt.

  • Ein 16-Bit-Unicode-Zeichen innerhalb eines Textelements Run .

Weitere Informationen

Gilt für: