Freigeben über


TextPointer.GetPointerContext(LogicalDirection) Methode

Definition

Gibt für den Inhalt neben dem aktuellen TextPointer in der angegebenen logischen Richtung einen Kategorieindikator 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, mit denen die logische Richtung angegeben wird, in der die Kategorie für den benachbarten Inhalt bestimmt wird.

Gibt zurück

TextPointerContext

Einer der TextPointerContext-Werte, mit denen die Kategorie für benachbarten Inhalt in der angegebenen logischen Richtung angegeben wird.

Beispiele

Im folgenden Beispiel wird eine Verwendung für diese Methode veranschaulicht. Das Beispiel verwendet die GetPointerContext Methode, um einen Algorithmus zum Berechnen des Gleichgewichts von Öffnen- und Schließenelementtags 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

Gilt für