FrameworkElement.OnVisualParentChanged(DependencyObject) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Wordt aangeroepen wanneer het bovenliggende element in de visualstructuur wordt gewijzigd. Overschrijft 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)
Parameters
- oldParent
- DependencyObject
Het oude bovenliggende element. Dit kan zijn null om aan te geven dat het element eerder geen bovenliggende visual had.
Opmerkingen
De visuele structuur is mogelijk anders dan de logische structuur, omdat elementen die niet visueel worden weergegeven, zoals verzamelingen, weglaat en sommige elementen uitbreidt op basis van hun thema- en stijlcompositing. Zie Trees in WPF voor meer informatie.
Notities voor overnemers
De standaard implementatie van deze virtuele methodequery's voor het nieuwe bovenliggende item, genereert verschillende initialisatie-gebeurtenissen en stelt interne vlaggen in over de initialisatiestatus van de FrameworkElement betreffende. Ten slotte roept het de opeenvolgende basisuitvoeringen aan zoals aangegeven door UIElement, die op zijn beurt haar basis aanroept in Visual. Roep altijd de basis-implementatie aan om dit gedrag te behouden, anders is het gedrag van de elementstructuur voor dit element wanneer dit wordt gedeclareerd als onderliggend element van een ander element mogelijk niet zoals verwacht.
Een aantal bestaande Windows Presentation Foundation -klassen (WPF) overschrijven deze methode, bijvoorbeeld: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject). Het meest voorkomende scenario is om af te dwingen dat het nieuwe bovenliggende item een bepaald type moet zijn. Dit kan betrekking hebben op het genereren van een uitzondering als het nieuwe bovenliggende item een manier van typetest heeft mislukt. Er bestaat een gespecialiseerde versie van dit scenario in implementaties voor lijstitems en menu-items, die niet logisch zijn buiten een bovenliggende visual die eigenaar is van een geschikte verzameling om ze in op te slaan. Houd er rekening mee dat deze gevallen niet noodzakelijkerwijs uitzonderingen veroorzaken, omdat er mogelijk ontwerpscenario's zijn die afhankelijk zijn van reparenting van elementen die tijdelijk zonder hun 'gewone' ouders zijn.
Deze methode wordt ook overschreven in bepaalde elementen die doorgaans het hoofdelement zijn, zoals Window. Een ander geval is elementen die het schijnbare hoofdelement in markeringen zijn, maar die een grotere infrastructuur automatisch genereren in een gecompileerde logische structuur (zoals Page). De Window en Page implementaties sluiten de methode bewust af.