FrameworkElement.Parent Vlastnost

Definice

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

DependencyObject

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.

Platí pro

Viz také