TextPointer.GetNextInsertionPosition(LogicalDirection) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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).