Compartir a través de


FrameworkElement.OnVisualParentChanged(DependencyObject) Método

Definición

Se invoca cuando se cambia el elemento primario de este elemento en el árbol visual. Invalida 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

Elemento primario anterior. Puede ser null para indicar que el elemento no tiene un elemento primario visual previamente.

Comentarios

El árbol visual es potencialmente diferente del árbol lógico porque omite elementos que no se representan visualmente, como colecciones, y expande algunos elementos sobre la base de su composición de temas y estilos. Para obtener más información, consulte Árboles en 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 según FrameworkElement corresponda. Por último, llama a las implementaciones base sucesivas declaradas por UIElement, que a su vez llama a su base en Visual. Llame siempre a la implementación base para conservar este comportamiento; de lo contrario, el comportamiento del árbol de elementos para este elemento cuando se declara como elemento secundario de otro elemento puede no ser el esperado.

Algunas clases de Windows Presentation Foundation existentes (WPF) reemplazan este método, por ejemplo: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject). El escenario más común es aplicar que el nuevo elemento primario debe ser un tipo determinado. Esto podría implicar la ejecución de una excepción si el nuevo elemento primario produjo un error de alguna manera de prueba de tipo. Existe una versión especializada de este escenario en implementaciones para elementos de lista y elementos de menú, que no tienen sentido fuera de un objeto visual primario que posee una colección adecuada para almacenarlos. Tenga en cuenta que estos casos no generan necesariamente excepciones, ya que puede haber escenarios de diseñador que se basan en elementos primarios que son momentáneamente sin sus elementos primarios "normales".

Este método también se invalida en ciertos elementos que suelen ser el elemento raíz, como Window. Otro caso es los elementos que son el elemento raíz aparente en el marcado, pero que generan automáticamente una infraestructura mayor en un árbol lógico compilado (como Page). Las Window implementaciones y Page sellan deliberadamente el método .

Se aplica a

Consulte también