TextPointer.GetNextInsertionPosition(LogicalDirection) Methode

Definition

Gibt eine TextPointer an die nächste Einfügeposition in der angegebenen logischen Richtung 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, der die logische Richtung angibt, in der nach der nächsten Einfügeposition gesucht werden soll.

Gibt zurück

Eine TextPointer , die die nächste Einfügeposition in der angeforderten Richtung angibt 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 GetNextInsertionPosition Methode verwendet, um Inhaltselementgrenzen zu durchlaufen, um die Anzahl der Paragraph Elemente zu zählen, die 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 zugehörigen Inhalt zu unterbrechen. In der Praxis befindet sich eine Einfügeposition an einer beliebigen Stelle im Inhalt, an der ein Caret positioniert werden kann. Ein Beispiel für eine gültige TextPointer Position, die keine Einfügeposition ist, ist die Position zwischen zwei angrenzenden Paragraph Tags (d. a. zwischen dem schließenden Tag des vorherigen Absatzes und dem öffnenden Tag des nächsten Absatzes).

Gilt für:

Weitere Informationen