FrameworkElement.OnVisualParentChanged(DependencyObject) Metoda

Definice

Vyvolá se při změně nadřazeného prvku tohoto prvku ve stromu vizuálu. OnVisualParentChanged(DependencyObject)Přepíše .

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)

Parametry

oldParent
DependencyObject

Starý nadřazený prvek. Může to null znamenat, že prvek dříve neměl nadřazený vizuál.

Poznámky

Strom vizuálu se potenciálně liší od logického stromu, protože vynechává prvky, které se nevykreslují vizuálně, například kolekce, a rozšiřuje některé prvky na základě jejich motivu a vytváření stylu. Další informace najdete v tématu Stromy ve WPF.

Poznámky pro dědice

Výchozí implementace této virtuální metody se dotazuje na nový nadřazený objekt, vyvolá různé inicializační události a podle potřeby nastaví interní příznaky stavu FrameworkElement inicializace. Nakonec volá následné základní implementace deklarované v nástroji UIElement, který následně volá svůj základ v Visual. Vždy volejte základní implementaci, aby se toto chování zachovalo, jinak chování stromu elementu pro tento prvek, pokud je deklarováno jako podřízený prvek jiného prvku, nemusí být podle očekávání.

Tuto metodu přepíše několik existujících tříd Windows Presentation Foundation (WPF), například: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject). Nejběžnějším scénářem je vynutit, aby nový nadřazený objekt byl určitým typem. To může zahrnovat vyvolání výjimky, pokud nový nadřazený objekt selhal nějakým způsobem testu typu. Specializovaná verze tohoto scénáře existuje v implementacích pro položky seznamu a položky nabídky, které nedají žádný smysl mimo nadřazený vizuál, který vlastní příslušnou kolekci pro jejich uložení. Všimněte si, že tyto případy nemusí nutně vyvolávat výjimky, protože můžou existovat scénáře návrháře, které spoléhají na překreslování prvků, které jsou momentálně bez jejich "běžných" nadřazených prvků.

Tato metoda je také přepsána v určitých elementech, které jsou obvykle kořenovým elementem, například Window. Dalším případem jsou prvky, které jsou zdánlivým kořenovým prvkem ve značkách, ale které automaticky vygenerují větší infrastrukturu v kompilovaném logickém stromu (například Page). Implementace Window a Page záměrně zapečetí metodu.

Platí pro

Viz také