FrameworkElement.OnVisualParentChanged(DependencyObject) FrameworkElement.OnVisualParentChanged(DependencyObject) FrameworkElement.OnVisualParentChanged(DependencyObject) FrameworkElement.OnVisualParentChanged(DependencyObject) Method

Definición

Se invoca cuando se cambia el elemento primario de este elemento en el árbol visual.Invoked when the parent of this element in the visual tree is changed. Invalida OnVisualParentChanged(DependencyObject).Overrides OnVisualParentChanged(DependencyObject).

protected public:
 override void OnVisualParentChanged(System::Windows::DependencyObject ^ oldParent);
protected internal override void OnVisualParentChanged (System.Windows.DependencyObject oldParent);
override this.OnVisualParentChanged : System.Windows.DependencyObject -> unit
Protected Friend Overrides Sub OnVisualParentChanged (oldParent As DependencyObject)

Parámetros

oldParent
DependencyObject DependencyObject DependencyObject DependencyObject

Elemento primario anterior.The old parent element. Puede ser null para indicar que el elemento no tiene un elemento primario visual previamente.May be null to indicate that the element did not have a visual parent previously.

Comentarios

El árbol visual es potencialmente diferente del árbol lógico, ya que omite elementos que no se representan visualmente, como colecciones y expande algunos elementos según su composición de tema y estilo.The visual tree is potentially different from the logical tree because it omits elements that do not render visually, such as collections, and expands some elements on the basis of their theme and style compositing. Para obtener más información, consulte Árboles en WPF.For more information, see Trees in WPF.

Notas a los desarrolladores de herederos

La implementación predeterminada de este método virtual consulta para el nuevo elemento primario, genera varios eventos de inicialización y establece marcas internas sobre el estado de inicialización de la FrameworkElement según corresponda.The default implementation of this virtual method queries for the new parent, raises various initialization events, and sets internal flags about initialization state of the FrameworkElement as appropriate. Por último, llama a las sucesivas implementaciones base declarado por UIElement, que a su vez llama a su base en Visual.Finally, it calls the successive base implementations as declared by UIElement, which in turn calls its base in Visual. Llame siempre a la implementación base para conservar este comportamiento, en caso contrario, no puede ser el comportamiento del árbol de elemento para este elemento cuando se declara como elemento secundario de otro elemento según lo previsto.Always call the base implementation to preserve this behavior, otherwise the element tree behavior for this element when declared as a child of another element may not be as expected.

Unos existente Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) clases invalidan este método, por ejemplo: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject).A few existing Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) classes override this method, for example: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject). El escenario más común es exigir que el nuevo elemento primario debe ser un tipo determinado.The most common scenario is to enforce that the new parent must be a particular type. Esto puede implicar a producir una excepción si el nuevo elemento primario no pudo alguna manera de prueba de tipo.This might involve throwing an exception if the new parent failed some manner of type test. Una versión especializada de este escenario existe en implementaciones para los elementos de lista y elementos de menú que no tienen ningún sentido fuera de un elemento primario visual que posee una colección adecuada para almacenarlos en.A specialized version of this scenario exists in implementations for list items and menu items, which do not make any sense outside a parent visual that owns an appropriate collection to store them in. Tenga en cuenta que estos casos no necesariamente provocan excepciones, porque puede haber escenarios del diseñador que se basan en los elementos que son momentáneamente sin sus padres "regulares" cambiar el elemento primario.Note that these cases do not necessarily raise exceptions, because there might be designer scenarios that rely on reparenting elements that are momentarily without their "regular" parents.

Este método se invalide también en ciertos elementos que suelen ser el elemento raíz, como Window.This method is also overridden in certain elements that are typically the root element, such as Window. Otro caso es que los elementos que son el elemento raíz aparente en marcado, pero que genere automáticamente una infraestructura mayor en un árbol lógico compilado (como Page).Another case is elements that are the apparent root element in markup but which autogenerate a greater infrastructure in a compiled logical tree (such as Page). El Window y Page implementaciones sellan deliberadamente el método.The Window and Page implementations deliberately seal the method.

Se aplica a

Consulte también: