FrameworkElement.Parent Właściwość

Definicja

Pobiera logiczny element nadrzędny tego elementu.Gets the logical parent element of this element.

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

DependencyObject

Logiczny element nadrzędny tego elementu.This element's logical parent.

Przykłady

Poniższy przykład pokazuje kod, który sprawdza element nadrzędny elementu, a następnie używa wartości właściwości z elementu nadrzędnego do ustawiania właściwości w elemencie podrzędnym do dopasowania.The following example shows code that checks for an element's parent, and then uses property values from the parent to set properties on the child element to match. W tym przypadku są to właściwości, które wpływają na rozmiar renderowania.In this case these are properties that affect the rendering size.

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

Uwagi

Parent może być null w przypadku wystąpienia elementu, ale nie jest on dołączony do żadnego drzewa logicznego, które ostatecznie nawiązuje połączenie z elementem głównym poziomu strony lub obiektem aplikacji.Parent may be null in cases where an element was instantiated, but is not attached to any logical tree that eventually connects to the page level root element, or the application object.

Należy zauważyć, że logiczny element nadrzędny elementu może ulec zmianie w zależności od funkcjonalności aplikacji i pozostawienie wartości tej właściwości nie będzie odzwierciedlała tej zmiany.Note that the logical parent of an element can potentially change depending on your application's functionality, and keeping the value of this property will not reflect that change. Zwykle należy uzyskać wartość bezpośrednio przed jej użyciem.You typically should get the value immediately before you need it.

Zobacz drzewa w WPF , aby uzyskać więcej informacji na temat przechodzenia do drzewa logicznego i scenariuszy, w których należy użyć Parent jako techniki odnajdywania elementów nadrzędnych.See Trees in WPF for more information about logical tree traversal, and the scenarios where using Parent as a technique of parent element discovery is appropriate.

Aparat właściwości może ponownie obliczyć wszystkie wartości właściwości elementu, gdy zostanie on oddany, ponieważ niektóre właściwości dziedziczą wartości za pomocą drzewa logicznego.The property engine will potentially recalculate all property values of an element when it is reparented, because some properties inherit values through the logical tree. DataContextObiekt, który ma zastosowanie do powiązań, również zmienia się w przypadku zmiany elementów nadrzędnych.The DataContext that applies for bindings can also change when elements are reparented.

Zmiana elementu nadrzędnego jest zazwyczaj wykonywane tylko przez manipulowanie kolekcjami przy użyciu dedykowanych metod dodawania lub usuwania lub ustawiania właściwości zawartości elementów.Changing an element's parent is typically only done through manipulation of collections, by using dedicated add or remove methods, or through setting content properties of elements.

Najbardziej typowym scenariuszem użycia Parent właściwości jest uzyskanie odwołania, a następnie uzyskanie różnych FrameworkElement wartości właściwości z elementu nadrzędnego.The most typical scenario for using the Parent property is to obtain a reference and then get various FrameworkElement property values from the parent. W przypadku szablonów Parent zostanie ostatecznie zadany szablon null .For templates, the Parent of the template eventually will be null. Aby przejść do poprzedniego punktu i przekroczyć Drzewo logiczne, w którym faktycznie zastosowano szablon, użyj TemplatedParent .To get past this point and extend into the logical tree where the template is actually applied, use TemplatedParent.

Należy pamiętać, że ta właściwość nie raportuje obiektów nadrzędnych drzewa wizualnego w przypadkach, w których różnią się one od obiektów nadrzędnych drzewa logicznego.Note that this property does not report visual tree parents in cases where these vary from the logical tree parents. Elementy nadrzędne drzewa wizualnego nie są zwykle ważne dla ogólnych przypadków aplikacji, ale mogą być żądanymi elementami nadrzędnymi dla pewnych przypadków na poziomie wizualizacji.Visual tree parents are not typically important for general application cases but may be the desired parent elements for certain visual level cases. Zobacz: VisualTreeHelper.See VisualTreeHelper.

Dotyczy

Zobacz też