Udostępnij za pośrednictwem


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

Ten element jest elementem logicznym nadrzędnym.

Przykłady

W poniższym przykładzie pokazano kod, który sprawdza, czy 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 elementu podrzędnego w celu 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 na poziomie 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 i 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 i scenariuszy, w których używanie Parent jako technika odnajdywania elementów nadrzędnych jest odpowiednie.

Aparat właściwości potencjalnie ponownie obliczy wszystkie wartości właściwości elementu podczas ponownego ponownego działania, ponieważ niektóre właściwości dziedziczą wartości za pośrednictwem drzewa logicznego. Element DataContext , który ma zastosowanie do powiązań, może również ulec zmianie, gdy elementy są ponownie wdrażane.

Zmiana elementu nadrzędnego jest zwykle wykonywana tylko za pomocą manipulowania 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 faktycznie zastosowano szablon, użyj polecenia TemplatedParent.

Należy pamiętać, że ta właściwość nie zgłasza elementów nadrzędnych drzewa wizualnego w przypadkach, gdy 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ą być żądanymi elementami nadrzędnymi dla niektórych przypadków na poziomie wizualizacji. Zobacz: VisualTreeHelper.

Dotyczy

Zobacz też