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


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 в случаях, когда элемент был создан, но не присоединен к логическому дереву, которое в конечном итоге подключается к корневому элементу уровня страницы или объекту приложения.

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

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

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

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

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

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

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

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