FrameworkContentElement.Parent Właściwość

Definicja

Pobiera element nadrzędny w drzewie logicznym dla tego elementu.

C#
public System.Windows.DependencyObject Parent { get; }

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.

C#
// 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);
}

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.

Dotyczy

Produkt Wersje
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Zobacz też