TextPointer.GetPointerContext(LogicalDirection) TextPointer.GetPointerContext(LogicalDirection) TextPointer.GetPointerContext(LogicalDirection) TextPointer.GetPointerContext(LogicalDirection) Method

Definición

Devuelve un indicador de categoría para el contenido adyacente al TextPointer actual en la dirección lógica especificada.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

Parámetros

direction
LogicalDirection LogicalDirection LogicalDirection LogicalDirection

Uno de los valores de LogicalDirection que especifica la dirección lógica en la que determinar la categoría para el contenido adyacente.One of the LogicalDirection values that specifies the logical direction in which to determine the category for adjacent content.

Devoluciones

Uno de los valores de TextPointerContext que indica la categoría para el contenido adyacente en la dirección lógica especificada.One of the TextPointerContext values that indicates the category for adjacent content in the specified logical direction.

Ejemplos

El ejemplo siguiente muestra un uso de este método.The following example demonstrates a use for this method. El ejemplo se usa el GetPointerContext método para implementar un algoritmo para calcular el saldo de apertura y cierre de las etiquetas de elementos entre dos especificados TextPointer posiciones.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. Cada etiqueta de elemento de apertura se cuenta como + 1 y cada etiqueta de elemento de cierre se cuenta como -1.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

Se aplica a