FrameworkElement.OnVisualParentChanged(DependencyObject) Méthode

Définition

Appelée en cas de modification du parent de cet élément dans l’arborescence visuelle.Invoked when the parent of this element in the visual tree is changed. Substitue 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)

Paramètres

oldParent
DependencyObject

Ancien élément parent.The old parent element. Peut être null pour indiquer que l’élément n’avait pas de parent visuel auparavant.May be null to indicate that the element did not have a visual parent previously.

Remarques

L’arborescence d’éléments visuels est potentiellement différente de l’arborescence logique, car elle omet les éléments qui n’effectuent pas de rendu visuel, tels que les collections, et développe certains éléments sur la base de leur thème et de leur composition de style.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. Pour plus d’informations, consultez Arborescences dans WPF.For more information, see Trees in WPF.

Notes pour les héritiers

L’implémentation par défaut de cette méthode virtuelle interroge le nouveau parent, déclenche divers événements d’initialisation et définit des indicateurs internes sur l’état d’initialisation du FrameworkElement comme il convient.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. Enfin, il appelle les implémentations de base successives telles qu’elles sont déclarées par UIElement , qui à son tour appelle sa base dans Visual .Finally, it calls the successive base implementations as declared by UIElement, which in turn calls its base in Visual. Appelez toujours l’implémentation de base pour conserver ce comportement. sinon, le comportement de l’arborescence d’éléments pour cet élément lorsqu’il est déclaré en tant qu’enfant d’un autre élément peut ne pas être celui attendu.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.

Quelques classes Windows Presentation Foundation (WPF) existantes remplacent cette méthode, par exemple : OnVisualParentChanged(DependencyObject) , OnVisualParentChanged(DependencyObject) .A few existing Windows Presentation Foundation (WPF) classes override this method, for example: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject). Le scénario le plus courant consiste à imposer que le nouveau parent doit être un type particulier.The most common scenario is to enforce that the new parent must be a particular type. Cela peut impliquer la levée d’une exception si le nouveau parent a échoué à une méthode de test de type.This might involve throwing an exception if the new parent failed some manner of type test. Une version spécialisée de ce scénario existe dans les implémentations pour les éléments de liste et les éléments de menu, qui n’effectuent pas de sens en dehors d’un visuel parent qui possède une collection appropriée pour les stocker.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. Notez que ces cas ne lèvent pas nécessairement d’exceptions, car il peut y avoir des scénarios de concepteur qui reposent sur des éléments de reparentage qui sont momentanément sans leurs parents « normaux ».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.

Cette méthode est également remplacée dans certains éléments qui sont généralement l’élément racine, par exemple Window .This method is also overridden in certain elements that are typically the root element, such as Window. Un autre cas est constitué d’éléments qui sont l’élément racine apparent dans le balisage, mais qui génèrent automatiquement une infrastructure plus importante dans une arborescence logique compilée (telle que 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). Les Window Page implémentations et scellent délibérément la méthode.The Window and Page implementations deliberately seal the method.

S’applique à

Voir aussi