本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

FrameworkElement.Parent 属性

 

获取此元素的逻辑父元素。

命名空间:   System.Windows
程序集:  PresentationFramework(位于 PresentationFramework.dll)

public DependencyObject Parent { get; }

属性值

Type: System.Windows.DependencyObject

此元素的逻辑父级。

Parent 可能是 null 当元素已实例化,但是未附加到任何最终将连接到页级别根元素或应用程序对象的逻辑树。

请注意,根据您的应用程序功能,可能发生更改的逻辑父级的元素,此属性的值保持不会反映所做的更改。 您需要它之前,通常应获取的值。

请参阅 WPF 中的树 逻辑树遍历有关的详细信息和方案,使用 Parent 发现适于用作父元素的技术。

属性引擎将可能重新计算此元素的所有属性值时父级,因为某些属性继承值通过逻辑树。 DataContext 元素是父级,还可以更改绑定,适用。

更改元素的父站点通常只是通过集合的操作,通过使用专用添加或删除方法,或通过设置元素的内容属性。

使用的大多数典型情形 Parent 属性是要获取的引用,然后获取各种 FrameworkElement 从父属性值。 对于模板, Parent 模板的最终将 null 若要忽略这一点并扩展到实际应用该模板的逻辑树,请使用 TemplatedParent

请注意,此属性不会报告在情况下在这些会变化的逻辑树父项的可视化树父项。 可视化树父项不是常规应用程序的情况下通常很重要,但可能是某些可视化级别情况的所需的父元素。 请参阅VisualTreeHelper

下面的示例演示代码检查某个元素的父级,然后使用从父属性值来设置要匹配的子元素的属性。 在这种情况下,这些是影响呈现大小的属性。

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);
}

.NET Framework
自 3.0 起可用
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
返回页首
显示: