FrameworkElement.Parent Propiedad

Definición

Obtiene el elemento primario lógico de este elemento.Gets the logical parent element of this element.

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.This element's logical parent.

Ejemplos

En el ejemplo siguiente se muestra el código que comprueba el elemento primario de un elemento y, a continuación, usa los valores de propiedad del elemento primario para establecer las propiedades del elemento secundario para que coincidan.The following example shows code that checks for an element's parent, and then uses property values from the parent to set properties on the child element to match. En este caso, se trata de propiedades que afectan al tamaño de representación.In this case these are properties that affect the rendering size.

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 que se crea una instancia de un elemento, pero no se adjunta 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.Parent may be null in cases where an element was instantiated, but is not attached to any logical tree that eventually connects to the page level root element, or the application object.

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.Note that the logical parent of an element can potentially change depending on your application's functionality, and keeping the value of this property will not reflect that change. Normalmente, debe obtener el valor inmediatamente antes de que lo necesite.You typically should get the value immediately before you need it.

Vea árboles en WPF para obtener más información sobre el recorrido del árbol lógico y los escenarios en los que es adecuado utilizar Parent como técnica de detección de elementos primarios.See Trees in WPF for more information about logical tree traversal, and the scenarios where using Parent as a technique of parent element discovery is appropriate.

El motor de propiedades puede volver a calcular todos los valores de propiedad de un elemento cuando se cambia de elemento primario, porque algunas propiedades heredan valores a través del árbol lógico.The property engine will potentially recalculate all property values of an element when it is reparented, because some properties inherit values through the logical tree. El DataContext que se aplica a los enlaces también puede cambiar cuando se cambia el elemento primario de los elementos.The DataContext that applies for bindings can also change when elements are reparented.

El cambio del elemento primario de un elemento se realiza normalmente solo a través de la manipulación de las colecciones, mediante métodos Add o Remove dedicados, o mediante el establecimiento de las propiedades de contenido de los elementos.Changing an element's parent is typically only done through manipulation of collections, by using dedicated add or remove methods, or through setting content properties of elements.

El escenario más típico para usar la propiedad Parent es obtener una referencia y, a continuación, obtener varios valores de propiedad FrameworkElement desde el elemento primario.The most typical scenario for using the Parent property is to obtain a reference and then get various FrameworkElement property values from the parent. En el caso de las plantillas, se nullrá la Parent de la plantilla.For templates, the Parent of the template eventually will be null. Para ir más allá de este punto y extenderlo al árbol lógico en el que se aplica realmente la plantilla, use TemplatedParent.To get past this point and extend into the logical tree where the template is actually applied, 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.Note that this property does not report visual tree parents in cases where these vary from the logical tree parents. Los elementos primarios del árbol visual no suelen ser importantes para los casos de aplicación generales, pero pueden ser los elementos primarios deseados para ciertos casos de nivel visual.Visual tree parents are not typically important for general application cases but may be the desired parent elements for certain visual level cases. Vea VisualTreeHelper.See VisualTreeHelper.

Se aplica a

Consulte también: