Freigeben über


TextPointer.GetNextInsertionPosition(LogicalDirection) Methode

Definition

Gibt in der angegebenen logischen Richtung an der nächsten Einfügeposition einen TextPointer zurück.

public:
 System::Windows::Documents::TextPointer ^ GetNextInsertionPosition(System::Windows::Documents::LogicalDirection direction);
public System.Windows.Documents.TextPointer GetNextInsertionPosition (System.Windows.Documents.LogicalDirection direction);
member this.GetNextInsertionPosition : System.Windows.Documents.LogicalDirection -> System.Windows.Documents.TextPointer
Public Function GetNextInsertionPosition (direction As LogicalDirection) As TextPointer

Parameter

direction
LogicalDirection

Einer der LogicalDirection-Werte, mit denen die logische Richtung angegeben wird, in der die Suche nach der nächsten Einfügeposition erfolgen soll.

Gibt zurück

TextPointer

Ein TextPointer, mit dem die nächste Einfügeposition in der angegebenen Richtung gekennzeichnet wird, oder null, wenn keine nächste Einfügeposition gefunden werden kann.

Beispiele

Im folgenden Beispiel wird eine Verwendung für diese Methode veranschaulicht. Im Beispiel wird die Methode zum Durchlaufen von Inhaltselementgrenzen verwendet, um die Anzahl der Paragraph Elemente zu zählen, die GetNextInsertionPosition zwischen zwei angegebenen TextPointer Instanzen vorhanden sind.

// This method returns the number of pagragraphs between two
// specified TextPointers.
int GetParagraphCount(TextPointer start, TextPointer end)
{
    int paragraphCount = 0;
 
    while (start != null && start.CompareTo(end) < 0)
    {
        Paragraph paragraph = start.Paragraph;
 
        if (paragraph != null)
        {
            paragraphCount++;
 
            // Advance start to the end of the current paragraph.
            start = paragraph.ContentEnd;
         }
 
         // Use the GetNextInsertionPosition method to skip over any interceding
         // content element tags.
         start = start.GetNextInsertionPosition(LogicalDirection.Forward);
     } // End while.
 
         return paragraphCount;
}  // End GetParagraphCount.
' This method returns the number of pagragraphs between two
' specified TextPointers.
Private Function GetParagraphCount(ByVal start As TextPointer, ByVal [end] As TextPointer) As Integer
    Dim paragraphCount As Integer = 0

    Do While start IsNot Nothing AndAlso start.CompareTo([end]) < 0
        Dim paragraph As Paragraph = start.Paragraph

        If paragraph IsNot Nothing Then
            paragraphCount += 1

            ' Advance start to the end of the current paragraph.
            start = paragraph.ContentEnd
        End If

        ' Use the GetNextInsertionPosition method to skip over any interceding
        ' content element tags.
        start = start.GetNextInsertionPosition(LogicalDirection.Forward)

    Loop ' End while.

    Return paragraphCount

End Function ' End GetParagraphCount.

Hinweise

Eine Einfügeposition ist eine Position, an der neue Inhalte hinzugefügt werden können, ohne semantische Regeln für den zugeordneten Inhalt zu brechen. In der Praxis ist eine Einfügeposition überall in Inhalten, in denen ein Caret positioniert werden kann. Ein Beispiel für eine gültige Position, die keine Einfügeposition ist, ist die Position zwischen zwei benachbarten Paragraph Tags (das heißt, zwischen dem schließenden TextPointer Tag des vorherigen Absatzes und dem öffnenden Tag des nächsten Absatzes).

Gilt für

Siehe auch