FrameworkElement.Parent FrameworkElement.Parent FrameworkElement.Parent FrameworkElement.Parent Property

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

Parentpuede ser null en los casos en que se crea 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.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 Parent los que es adecuado utilizar como técnica la 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. La 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 Parent propiedad es obtener una referencia y, a continuación, FrameworkElement obtener varios valores de propiedad del 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 Parent las plantillas, el de la nullplantilla será.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 TemplatedParentla plantilla, use.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: