TextPointer.GetNextInsertionPosition(LogicalDirection) Metod

Definition

Returnerar en TextPointer till nästa infogningsposition i den angivna logiska riktningen.

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

Parametrar

direction
LogicalDirection

Ett av de LogicalDirection värden som anger den logiska riktning som du vill söka efter nästa infogningsposition i.

Returer

En TextPointer som identifierar nästa infogningsposition i den begärda riktningen, eller null om det inte går att hitta någon nästa insättningsposition.

Exempel

I följande exempel visas en användning för den här metoden. I exemplet används GetNextInsertionPosition metoden för att korsa innehållselementgränser för att räkna antalet Paragraph element som finns mellan två angivna TextPointer instanser.

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

Kommentarer

En insättningsposition är en position där nytt innehåll kan läggas till utan att bryta mot några semantiska regler för det associerade innehållet. I praktiken finns en insättningsposition var som helst i innehåll där en caret kan placeras. Ett exempel på en giltig TextPointer position som inte är en infogningsposition är positionen mellan två intilliggande Paragraph taggar (det vill säga mellan den avslutande taggen i föregående stycke och den inledande taggen i nästa stycke).

Gäller för

Se även