TextPointer.GetPointerContext(LogicalDirection) Methode

Definition

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

Gilt für: