TextPointer.GetPointerContext(LogicalDirection) Metode

Definisi

Mengembalikan indikator kategori untuk konten yang berdekatan dengan saat ini TextPointer dalam arah logika yang ditentukan.

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

Salah LogicalDirection satu nilai yang menentukan arah logis untuk menentukan kategori untuk konten yang berdekatan.

Mengembalikan

Salah TextPointerContext satu nilai yang menunjukkan kategori untuk konten yang berdekatan dalam arah logis yang ditentukan.

Contoh

Contoh berikut menunjukkan penggunaan untuk metode ini. Contoh menggunakan GetPointerContext metode untuk mengimplementasikan algoritma untuk menghitung keseimbangan tag elemen pembukaan dan penutupan antara dua posisi yang ditentukan TextPointer . Setiap tag elemen pembuka dihitung sebagai +1, dan setiap tag elemen penutup dihitung sebagai -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

Berlaku untuk