FrameworkElement.OnVisualParentChanged(DependencyObject) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anropas när det överordnade elementet i det visuella trädet ändras. Åsidosätter 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)
Parametrar
- oldParent
- DependencyObject
Det gamla överordnade elementet. Kan vara null att indikera att elementet inte hade en överordnad visuellt objekt tidigare.
Kommentarer
Det visuella trädet skiljer sig potentiellt från det logiska trädet eftersom det utelämnar element som inte återges visuellt, till exempel samlingar, och expanderar vissa element på grundval av deras tema och format compositing. Mer information finns i Trees i WPF.
Anteckningar till arvingar
Standardimplementeringen av den här virtuella metoden frågar efter den nya överordnade metoden, genererar olika initieringshändelser och anger interna flaggor om initieringstillståndet för efter FrameworkElement behov. Slutligen anropas de efterföljande basimplementeringarna enligt , UIElementsom i sin tur anropar dess bas i Visual. Anropa alltid basimplementeringen för att bevara det här beteendet, annars kanske elementträdsbeteendet för det här elementet när det deklareras som underordnat ett annat element inte är som förväntat.
Några befintliga Windows Presentation Foundation-klasser (WPF) åsidosätter den här metoden, till exempel: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject). Det vanligaste scenariot är att framtvinga att den nya överordnade måste vara en viss typ. Detta kan innebära att ett undantag utlösers om den nya överordnade filen misslyckades med något slags typtest. En specialiserad version av det här scenariot finns i implementeringar för listobjekt och menyobjekt, vilket inte är meningsfullt utanför ett överordnat visuellt objekt som äger en lämplig samling att lagra dem i. Observera att dessa fall inte nödvändigtvis skapar undantag, eftersom det kan finnas designerscenarier som förlitar sig på att omanmäla element som tillfälligt är utan sina "vanliga" föräldrar.
Den här metoden åsidosätts också i vissa element som vanligtvis är rotelementet, till exempel Window. Ett annat fall är element som är det uppenbara rotelementet i markering men som automatiskt skapar en större infrastruktur i ett kompilerat logiskt träd (till exempel Page). Implementeringarna Window och Page förseglar avsiktligt metoden.