TextPointer.GetNextInsertionPosition(LogicalDirection) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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).