TextPointer.GetPointerContext(LogicalDirection) Methode

Definition

Gibt für den Inhalt neben dem aktuellen TextPointer in der angegebenen logischen Richtung einen Kategorieindikator zurück.Returns a category indicator for the content adjacent to the current TextPointer in the specified logical direction.

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.One of the LogicalDirection values that specifies the logical direction in which to determine the category for adjacent content.

Gibt zurück

Einer der TextPointerContext-Werte, mit denen die Kategorie für benachbarten Inhalt in der angegebenen logischen Richtung angegeben wird.One of the TextPointerContext values that indicates the category for adjacent content in the specified logical direction.

Beispiele

Im folgenden Beispiel wird eine Verwendung für diese Methode veranschaulicht.The following example demonstrates a use for this method. Im Beispiel wird die GetPointerContext-Methode verwendet, um einen Algorithmus zum Berechnen des Ausgleichs von öffnenden und schließenden Element Tags zwischen zwei angegebenen TextPointer Positionen zu implementieren.The example uses the GetPointerContext method to implement an algorithm for calculating the balance of opening and closing element tags between two specified TextPointer positions. Jedes öffnende Elementtag wird als + 1 gezählt, und jedes schließende Elementtag wird als-1 gezählt.Each opening element tag is counted as +1, and each closing element tag is counted as -1.

// 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: