FrameworkElement.Parent Vlastnost
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í.
Získá logický nadřazený prvek tohoto prvku.
public:
property System::Windows::DependencyObject ^ Parent { System::Windows::DependencyObject ^ get(); };
public System.Windows.DependencyObject Parent { get; }
member this.Parent : System.Windows.DependencyObject
Public ReadOnly Property Parent As DependencyObject
Hodnota vlastnosti
Logický nadřazený prvek tohoto prvku.
Příklady
Následující příklad ukazuje kód, který kontroluje nadřazený prvek elementu a pak používá hodnoty vlastností z nadřazeného objektu k nastavení vlastností podřízeného elementu, aby se shodovaly. V tomto případě se jedná o vlastnosti, které mají vliv na velikost vykreslování.
private void OnUIReady(object sender, System.EventArgs e)
{
LinePane.Width = ((StackPanel)LinePane.Parent).ActualWidth;
LinePane.Height = ((StackPanel)LinePane.Parent).ActualHeight;
DesignerPane.MouseLeave += new System.Windows.Input.MouseEventHandler(DesignerPane_MouseLeave);
this.SizeChanged += new SizeChangedEventHandler(Window1_SizeChanged);
}
Private Sub OnUIReady(ByVal sender As Object, ByVal e As System.EventArgs)
LinePane.Width = (CType(LinePane.Parent, StackPanel)).ActualWidth
LinePane.Height = (CType(LinePane.Parent, StackPanel)).ActualHeight
AddHandler DesignerPane.MouseLeave, AddressOf DesignerPane_MouseLeave
AddHandler SizeChanged, AddressOf Window1_SizeChanged
End Sub
Poznámky
Parent může být null
v případech, kdy došlo k vytvoření instance elementu, ale není připojen k žádnému logickému stromu, který se nakonec připojí k kořenovému prvku na úrovni stránky nebo k objektu aplikace.
Všimněte si, že logický nadřazený prvek se může potenciálně změnit v závislosti na funkčnosti vaší aplikace a zachování hodnoty této vlastnosti nebude odrážet tuto změnu. Hodnotu byste obvykle měli získat hned před tím, než ji budete potřebovat.
Další informace o procházení logických stromů a scénářích, ve kterých se používá Parent jako technika zjišťování nadřazených prvků, najdete v tématu Stromy ve WPF.
Modul vlastností může přepočítat všechny hodnoty vlastností prvku při opětovném načtení, protože některé vlastnosti dědí hodnoty prostřednictvím logického stromu. To DataContext , které platí pro vazby, se může také změnit, když jsou prvky znovu načtené.
Změna nadřazeného prvku se obvykle provádí pouze prostřednictvím manipulace s kolekcemi, pomocí vyhrazených metod přidání nebo odebrání nebo nastavením vlastností obsahu prvků.
Nejběžnějším scénářem použití Parent vlastnosti je získání odkazu a následné získání různých FrameworkElement hodnot vlastností z nadřazeného objektu. Pro šablony Parent bude null
šablona nakonec . Chcete-li se dostat do tohoto bodu a rozšířit do logického stromu, kde je šablona skutečně použita, použijte TemplatedParent.
Všimněte si, že tato vlastnost neoznamuje nadřazené vizuální stromy v případech, kdy se liší od nadřazených logických stromů. Nadřazené prvky vizuálního stromu nejsou obvykle důležité pro obecné případy aplikace, ale mohou být požadovanými nadřazené prvky pro určité případy na úrovni vizuálu. Viz třída VisualTreeHelper.