FrameworkElement.Parent FrameworkElement.Parent FrameworkElement.Parent FrameworkElement.Parent Property

Определение

Получает логический родительский элемент этого элемента.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

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

Логический родительский объект этого элемента.This element's logical parent.

Примеры

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

Комментарии

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

Обратите внимание, что логический родитель элемента потенциально может меняться в зависимости от функциональности приложения, и сохранение значения этого свойства не отразит это изменение.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. Обычно нужно получить значение, непосредственно перед он вам нужен.You typically should get the value immediately before you need it.

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

Механизм свойства потенциально пересчитывает все значения свойств элемента при изменении его родителя, так как некоторые свойства наследуют значения по логическому дереву.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. DataContext , Применяемый для привязки также можно изменить при изменении в родителя или элементов.The DataContext that applies for bindings can also change when elements are reparented.

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

Наиболее типичный сценарий использования Parent свойство является получить ссылку, а затем получить различные FrameworkElement значения свойств из родительского элемента.The most typical scenario for using the Parent property is to obtain a reference and then get various FrameworkElement property values from the parent. Для шаблонов Parent шаблона со временем будет null.For templates, the Parent of the template eventually will be null. Чтобы преодолеть эту точку и расширить в логическом дереве, где фактически применяется шаблон, используйте TemplatedParent.To get past this point and extend into the logical tree where the template is actually applied, use TemplatedParent.

Обратите внимание на то, что это свойство не сообщает о родительских элементов визуального дерева в случаях, когда они отличаются от родителей логического дерева.Note that this property does not report visual tree parents in cases where these vary from the logical tree parents. Родительские элементы визуального дерева обычно не важны в общих случаях приложений, но может быть целевыми родительскими элементами для некоторых случаях визуального уровня.Visual tree parents are not typically important for general application cases but may be the desired parent elements for certain visual level cases. См. раздел VisualTreeHelper.See VisualTreeHelper.

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

Дополнительно