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 si hay un elemento primario y, a continuación, se usan valores de propiedad del elemento primario para establecer propiedades en el elemento secundario que coincidan. En este caso, estas son 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, debe obtener el valor inmediatamente antes de que lo necesite.

Vea Árboles en WPF para obtener más información sobre el recorrido de árbol lógico y los escenarios en los que el uso Parent como técnica de la detección de elementos primarios es adecuado.

El motor de propiedades podría recalcular todos los valores de propiedad de un elemento cuando se vuelva aparentar, 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 son reparentados.

Cambiar el elemento primario de un elemento normalmente solo se realiza a través de 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 pegar este punto y extenderse al árbol lógico donde se aplica realmente la plantilla, use TemplatedParent.

Tenga en cuenta que esta propiedad no notifica los 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. Consulte VisualTreeHelper.

Se aplica a

Consulte también