FrameworkContentElement.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á nadřazený objekt v logické stromové struktuře pro tento prvek.
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ý objekt pro tento prvek.
Příklady
Následující příklad zkontroluje, jestli Parent je hodnota typu TextPointer konkrétního typu.
// Traverse content in forward direction until the position is immediately after the opening
// tag of a Run element, or the end of content is encountered.
while (position != null)
{
// Is the current position just after an opening element tag?
if (position.GetPointerContext(LogicalDirection.Backward) == TextPointerContext.ElementStart)
{
// If so, is the tag a Run?
if (position.Parent is Run)
break;
}
// Not what we're looking for; on to the next position.
position = position.GetNextContextPosition(LogicalDirection.Forward);
}
' Traverse content in forward direction until the position is immediately after the opening
' tag of a Run element, or the end of content is encountered.
Do While position IsNot Nothing
' Is the current position just after an opening element tag?
If position.GetPointerContext(LogicalDirection.Backward) = TextPointerContext.ElementStart Then
' If so, is the tag a Run?
If TypeOf position.Parent Is Run Then
Exit Do
End If
End If
' Not what we're looking for on to the next position.
position = position.GetNextContextPosition(LogicalDirection.Forward)
Loop
Poznámky
Všimněte si, že logický nadřazený prvek elementu se může potenciálně změnit v závislosti na funkčnosti vaší aplikace a zachování hodnoty této vlastnosti nebude tuto změnu odrážet. Obvykle byste měli získat hodnotu bezprostředně předtím, než ji budete potřebovat.
Další informace o procházení logických stromů a scénářích, ve kterých je vhodný tento přístup ke zjišťování prvků, najdete v tématu Stromy ve WPF .
Systém vlastností potenciálně přepočítá všechny hodnoty vlastností elementu při jeho opětovném zobrazení, protože některé vlastnosti dědí hodnoty prostřednictvím logického stromu. Hodnota DataContext , která platí pro vazby, se může také změnit, když jsou prvky překreslovány.
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 FrameworkContentElement hodnot vlastností z nadřazeného objektu. Pro šablony Parent bude null
nakonec šablona . Pokud chcete přejít za tento bod a rozšířit do logického stromu, ve kterém je šablona skutečně použita, použijte TemplatedParent.