Поделиться через


FrameworkElement.Parent Свойство

Определение

Возвращает логический родительский элемент этого элемента.

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

Значение свойства

Логический родительский объект этого элемента.

Примеры

В следующем примере показан код, который проверяет наличие родительского элемента, а затем использует значения свойств родительского элемента для задания свойств дочернего элемента для сопоставления. В этом случае это свойства, влияющие на размер отрисовки.

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

Комментарии

Parent Это может быть null в случаях, когда был создан экземпляр элемента, но не присоединен к логическому дереву, которое в конечном итоге подключается к корневому элементу уровня страницы или объекту приложения.

Обратите внимание, что логический родительский элемент элемента может изменяться в зависимости от функциональности приложения, и сохранение значения этого свойства не будет отражать это изменение. Как правило, это значение следует получить непосредственно перед его использованием.

Дополнительные сведения о обходе логического дерева и сценариях, в которых целесообразно использовать Parent метод обнаружения родительских элементов, см. в разделе Деревья в WPF.

Подсистема свойств потенциально пересчитает все значения свойств элемента при его повторном наследовании, так как некоторые свойства наследуют значения через логическое дерево. Объект , DataContext который применяется к привязкам, также может изменяться при повторном напарыве элементов.

Изменение родительского элемента обычно выполняется только с помощью операций с коллекциями, с помощью выделенных методов добавления или удаления или установки свойств содержимого элементов.

Наиболее типичным сценарием Parent использования свойства является получение ссылки, а затем получение различных FrameworkElement значений свойств из родительского объекта. Для шаблонов Parent свойство шаблона в конечном итоге будет иметь значение null. Чтобы пройти этот момент и расширить его до логического дерева, в котором фактически применяется шаблон, используйте .TemplatedParent

Обратите внимание, что это свойство не сообщает родительские элементы визуального дерева в случаях, когда они отличаются от родительских логических деревьев. Родительские элементы визуального дерева обычно не важны для общих вариантов применения, но могут быть нужными родительскими элементами для определенных вариантов визуального уровня. См. раздел VisualTreeHelper.

Применяется к

См. также раздел