FrameworkContentElement.Parent Propiedad

Definición

Obtiene el elemento primario del árbol lógico de este elemento.

public:
 property System::Windows::DependencyObject ^ Parent { System::Windows::DependencyObject ^ get(); };
public System.Windows.DependencyObject Parent { get; }
member this.Parent : System.Windows.DependencyObject
Public ReadOnly Property Parent As DependencyObject

Valor de propiedad

DependencyObject

Elemento primario lógico de este elemento.

Ejemplos

En el ejemplo siguiente se comprueba si el Parent objeto de es TextPointer de un tipo determinado.

// Traverse content in forward direction until the position is immediately after the opening 
// tag of a Run element, or the end of content is encountered.
while (position != null)
{
    // Is the current position just after an opening element tag?
    if (position.GetPointerContext(LogicalDirection.Backward) == TextPointerContext.ElementStart)
    {
        // If so, is the tag a Run?
        if (position.Parent is Run)
            break;
    }

    // Not what we're looking for; on to the next position.
    position = position.GetNextContextPosition(LogicalDirection.Forward);
}
' Traverse content in forward direction until the position is immediately after the opening 
' tag of a Run element, or the end of content is encountered.
Do While position IsNot Nothing
    ' Is the current position just after an opening element tag?
    If position.GetPointerContext(LogicalDirection.Backward) = TextPointerContext.ElementStart Then
        ' If so, is the tag a Run?
        If TypeOf position.Parent Is Run Then
            Exit Do
        End If
    End If

    ' Not what we're looking for on to the next position.
    position = position.GetNextContextPosition(LogicalDirection.Forward)
Loop

Comentarios

Tenga en cuenta que el elemento primario lógico de un elemento puede cambiar en función de la funcionalidad de la aplicación y mantener el valor de esta propiedad no reflejará ese cambio. Normalmente, debería obtener el valor inmediatamente antes de que lo necesite.

Consulte Árboles en WPF para obtener más información sobre el recorrido de árboles lógicos y los escenarios en los que es adecuado adoptar este enfoque hacia la detección de elementos.

El sistema de propiedades puede volver a calcular todos los valores de propiedad de un elemento cuando sea primario, ya que algunas propiedades heredan valores a través del árbol lógico. El DataContext que se aplica a los enlaces también puede cambiar cuando los elementos se vuelven aparentar.

Cambiar el elemento primario de un elemento normalmente solo se realiza mediante la manipulación de colecciones, mediante métodos dedicados de adición o eliminación, o mediante la configuración de propiedades de contenido de elementos.

El escenario más típico para usar la Parent propiedad es obtener una referencia y, a continuación, obtener varios FrameworkContentElement valores de propiedad del elemento primario. En el caso de las plantillas, el Parent elemento de la plantilla finalmente será null. Para superar este punto y extenderse al árbol lógico donde se aplica realmente la plantilla, use TemplatedParent.

Se aplica a

Consulte también