FrameworkElement.Parent 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取此元素的逻辑父元素。
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。