TextPointer.GetPointerContext(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 einen Kategorieindikator für den Inhalt neben dem aktuellen TextPointer in der angegebenen logischen Richtung zurück.
public:
System::Windows::Documents::TextPointerContext GetPointerContext(System::Windows::Documents::LogicalDirection direction);
public System.Windows.Documents.TextPointerContext GetPointerContext(System.Windows.Documents.LogicalDirection direction);
member this.GetPointerContext : System.Windows.Documents.LogicalDirection -> System.Windows.Documents.TextPointerContext
Public Function GetPointerContext (direction As LogicalDirection) As TextPointerContext
Parameter
- direction
- LogicalDirection
Einer der LogicalDirection Werte, der die logische Richtung angibt, in der die Kategorie für angrenzende Inhalte bestimmt werden soll.
Gibt zurück
Einer der TextPointerContext Werte, der die Kategorie für angrenzenden Inhalt in der angegebenen logischen Richtung angibt.
Beispiele
Im folgenden Beispiel wird eine Verwendung für diese Methode veranschaulicht. Im Beispiel wird die GetPointerContext Methode verwendet, um einen Algorithmus für die Berechnung des Gleichgewichts zwischen öffnenden und schließenden Elementtags zwischen zwei angegebenen TextPointer Positionen zu implementieren. Jedes öffnende Elementtag wird als +1 gezählt, und jedes schließende Elementtag wird als -1 gezählt.
// Calculate and return the relative balance of opening and closing element tags
// between two specified TextPointers.
int GetElementTagBalance(TextPointer start, TextPointer end)
{
int balance = 0;
while (start != null && start.CompareTo(end) < 0)
{
TextPointerContext forwardContext = start.GetPointerContext(LogicalDirection.Forward);
if (forwardContext == TextPointerContext.ElementStart) balance++;
else if (forwardContext == TextPointerContext.ElementEnd) balance--;
start = start.GetNextContextPosition(LogicalDirection.Forward);
} // End while.
return balance;
} // End GetElementTagBalance
' Calculate and return the relative balance of opening and closing element tags
' between two specified TextPointers.
Private Function GetElementTagBalance(ByVal start As TextPointer, ByVal [end] As TextPointer) As Integer
Dim balance As Integer = 0
Do While start IsNot Nothing AndAlso start.CompareTo([end]) < 0
Dim forwardContext As TextPointerContext = start.GetPointerContext(LogicalDirection.Forward)
If forwardContext = TextPointerContext.ElementStart Then
balance += 1
ElseIf forwardContext = TextPointerContext.ElementEnd Then
balance -= 1
End If
start = start.GetNextContextPosition(LogicalDirection.Forward)
Loop ' End while.
Return balance
End Function ' End GetElementTagBalance