FrameworkContentElement.Parent Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera element nadrzędny w drzewie logicznym dla tego elementu.
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
Wartość właściwości
Element nadrzędny logiczny dla tego elementu.
Przykłady
Poniższy przykład sprawdza, czy Parent element typu TextPointer ma określony typ.
// 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
Uwagi
Należy pamiętać, że logiczny element nadrzędny elementu może potencjalnie ulec zmianie w zależności od funkcjonalności aplikacji, a utrzymanie wartości tej właściwości nie będzie odzwierciedlać tej zmiany. Zazwyczaj należy pobrać wartość bezpośrednio przed jej potrzebą.
Zobacz Drzewa w WPF, aby uzyskać więcej informacji na temat przechodzenia przez drzewa logiczne, a scenariusze, w których takie podejście do odnajdywania elementów jest odpowiednie.
System właściwości może potencjalnie ponownie obliczyć wszystkie wartości właściwości elementu podczas jego reparented, ponieważ niektóre właściwości dziedziczą wartości za pośrednictwem drzewa logicznego. Dotyczy DataContext to powiązań może również ulec zmianie, gdy elementy są reparentowane.
Zmiana elementu nadrzędnego jest zwykle wykonywana tylko poprzez manipulowanie kolekcjami przy użyciu dedykowanych metod dodawania lub usuwania albo ustawiania właściwości zawartości elementów.
Najbardziej typowym scenariuszem użycia Parent właściwości jest uzyskanie odwołania, a następnie pobranie różnych FrameworkContentElement wartości właściwości z elementu nadrzędnego. W przypadku szablonów Parent szablon ostatecznie będzie to null
. Aby przejść przez ten punkt i rozszerzyć na drzewo logiczne, w którym szablon jest rzeczywiście stosowany, użyj polecenia TemplatedParent.