FrameworkElement.OnVisualParentChanged(DependencyObject) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyvolá se při změně nadřazeného prvku ve vizuálním stromu. Přepíše 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)
Parametry
- oldParent
- DependencyObject
Starý nadřazený prvek. Může to null znamenat, že prvek předtím neměl nadřazený vizuál.
Poznámky
Vizuální strom se potenciálně liší od logického stromu, protože vynechá prvky, které se nevykreslují vizuálně, například kolekce, a rozšiřuje některé prvky na základě jejich motivu a stylu kompilace. Další informace naleznete v tématu Stromy ve WPF (Windows Presentation Foundation).
Poznámky pro dědice
Výchozí implementace této virtuální metody dotazuje na nový nadřazený objekt, vyvolá různé inicializační události a nastaví interní příznaky o inicializačním FrameworkElement stavu podle potřeby. Nakonec volá následné základní implementace, jak je deklarováno UIElement, která následně volá svou základnu v Visual. Vždy volejte základní implementaci pro zachování tohoto chování, 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íší několik existujících tříd Windows Presentation Foundation (WPF (Windows Presentation Foundation)), například: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject). Nejběžnějším scénářem je vynucování, že nový nadřazený objekt musí být konkrétní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 položek seznamu a položek nabídek, které nemají žádný smysl mimo nadřazený vizuál, který vlastní příslušnou kolekci pro jejich uložení. Mějte na paměti, že tyto případy nemusí nutně vyvolat výjimky, protože mohou existovat scénáře návrháře, které spoléhají na opětovné zobrazení prvků, které jsou momentálně bez jejich "normálních" nadřazených prvků.
Tato metoda je také přepsána v určitých prvcích, které jsou obvykle kořenový prvek, například Window. Dalším případem jsou prvky, které jsou zjevným kořenovým prvkem v kódu, ale které automaticky vygenerují větší infrastrukturu ve zkompilovaném logickém stromu (například Page). Implementace Window metodu Page záměrně zapečetí.