Aracılığıyla paylaş


TextPointer.GetPointerContext(LogicalDirection) Yöntem

Tanım

Belirtilen mantıksal yöndeki geçerliye TextPointer bitişik içerik için bir kategori göstergesi döndürür.

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

Parametreler

direction
LogicalDirection

Bitişik içerik kategorisinin LogicalDirection belirleneceği mantıksal yönü belirten değerlerden biri.

Döndürülenler

TextPointerContext

TextPointerContext Belirtilen mantıksal yöndeki bitişik içerik kategorisini gösteren değerlerden biri.

Örnekler

Aşağıdaki örnekte bu yöntem için bir kullanım gösterilmektedir. Örnek, belirtilen TextPointer iki konum arasındaki öğe etiketlerini açma ve kapatma dengesini hesaplamak için bir algoritma uygulamak için yöntemini kullanırGetPointerContext. Her açılış öğesi etiketi +1 ve her kapanış öğesi etiketi -1 olarak sayılır.

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

Şunlara uygulanır