FrameworkElement.Parent Właściwość

Definicja

Pobiera logiczny element nadrzędny 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

DependencyObject

Ten element jest logicznym elementem nadrzędnym.

Przykłady

W poniższym przykładzie pokazano kod, który sprawdza element nadrzędny, a następnie używa wartości właściwości z elementu nadrzędnego do ustawiania właściwości elementu podrzędnego do dopasowania. W tym przypadku są to właściwości wpływające na rozmiar renderowania.

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 przypadkach, gdy element został utworzone, ale nie jest dołączony do żadnego drzewa logicznego, które ostatecznie łączy się z elementem głównym poziomu strony lub obiektem aplikacji.

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 drzewa logicznego, a scenariusze, w których używanie Parent jako technika odnajdywania elementów nadrzędnych jest odpowiednia.

Aparat właściwości może potencjalnie ponownie obliczyć wszystkie wartości właściwości elementu podczas jego ponownego reparentowania, 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 FrameworkElement 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.

Należy pamiętać, że ta właściwość nie zgłasza elementów nadrzędnych drzewa wizualnego w przypadkach, w których różnią się one od elementów nadrzędnych drzewa logicznego. Elementy nadrzędne drzewa wizualnego nie są zwykle ważne w przypadku ogólnych przypadków aplikacji, ale mogą to być odpowiednie elementy nadrzędne dla niektórych przypadków na poziomie wizualizacji. Zobacz: VisualTreeHelper.

Dotyczy

Zobacz też