Compartir a través de


FrameworkElement.Parent Propiedad

Definición

Obtiene el elemento primario 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

Elemento primario lógico de este elemento.

Ejemplos

En el ejemplo siguiente se muestra el código que comprueba el elemento primario de un elemento y, a continuación, usa valores de propiedad del elemento primario para establecer propiedades en el elemento secundario que coincidan. En este caso, se trata de propiedades que afectan al tamaño de representación.

private void OnUIReady(object sender, System.EventArgs e)
{
    LinePane.Width = ((StackPanel)LinePane.Parent).ActualWidth;
    LinePane.Height = ((StackPanel)LinePane.Parent).ActualHeight;
    DesignerPane.MouseLeave += new System.Windows.Input.MouseEventHandler(DesignerPane_MouseLeave);
    this.SizeChanged += new SizeChangedEventHandler(Window1_SizeChanged);
}
Private Sub OnUIReady(ByVal sender As Object, ByVal e As System.EventArgs)
    LinePane.Width = (CType(LinePane.Parent, StackPanel)).ActualWidth
    LinePane.Height = (CType(LinePane.Parent, StackPanel)).ActualHeight
    AddHandler DesignerPane.MouseLeave, AddressOf DesignerPane_MouseLeave
    AddHandler SizeChanged, AddressOf Window1_SizeChanged
End Sub

Comentarios

Parent puede ser null en los casos en los que se creó una instancia de un elemento, pero no está asociado a ningún árbol lógico que finalmente se conecte al elemento raíz de nivel de página o al objeto de aplicación.

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 árbol lógico y los escenarios en los que usar Parent como técnica de detección de elementos primarios es adecuado.

El motor de propiedades volverá a calcular potencialmente 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 FrameworkElement 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.

Tenga en cuenta que esta propiedad no notifica elementos primarios del árbol visual en los casos en los que varían de los elementos primarios del árbol lógico. Los elementos primarios del árbol visual no suelen ser importantes para los casos generales de la aplicación, pero pueden ser los elementos primarios deseados para determinados casos de nivel visual. Vea VisualTreeHelper.

Se aplica a

Consulte también