此文章由人工翻译。 将光标移到文章的句子上,以查看原文。
译文
原文
信息
您所需的主题如下所示。但此主题未包含在此库中。

FrameworkElement.Parent 属性

获取对象树中此 FrameworkElement 的父对象。

命名空间:  System.Windows
程序集:  System.Windows(在 System.Windows.dll 中)

public DependencyObject Parent { get; }

属性值

类型:System.Windows.DependencyObject
对象树中此对象的父对象。

如果实例化了一个对象,但未将该对象附加到任何最终将连接到 Silverlight RootVisual(或应用程序对象)的对象,则 Parent 可能是 null

在核心 Silverlight 类中,只要 FrameworkElement 的父级未返回为 null,它也应该是一个 FrameworkElement 但是自定义类可能引入内容模型,在该模型中此假设不成立。

请注意,根据应用程序功能的不同,对象的父级可能发生更改,因而将此属性的值保留为一个实例将无法反映此更改。 通常应该在需要将父对象值用于其他操作之前立即获取该值,并且不应依赖这一时点之后的值。

请注意此属性为只读。 可以完成对对象的父级的更改,但只能通过操作集合完成。 例如,您可以更改父级关系,方法是采用专用的添加或移除方法,或者设置对象的容器属性(如 Panel 上的 Children)。

Silverlight 树概念和 WPF

如果您熟悉 WPF,您可能知道 WPF 维护多个相关的树概念,以便编程访问运行时对象图,例如可视化树和逻辑树。 在 WPF 中,Parent 属性报告逻辑树中的父级。 Silverlight 不提供一个能够提供对逻辑树的具体访问的 API(等效于 WPF 中的 LogicalTreeHelper),因此 Silverlight 文档不会提供主题来向 Silverlight 程序员解释逻辑树概念。 但是,FrameworkElement.Parent 值在逻辑树结果上报告,以向 WPF 提供 API 等效性。 通常,您可以将逻辑树设想为一棵树,这棵树通过一系列嵌套的对象和属性值来描述包容。 如果给定的对象具有一个或多个包含的子项,且子项保留在“内容”或者“子项”属性中的某个类型中,FrameworkElement.Parent 描述该关系的逆关系。

Silverlight 中 FrameworkElement.Parent 属性报告的值通常与使用 VisualTreeHelper API 报告的值相同,因为这两个树概念在如何报告父-子关系方面经常同步。 但是,可能有这种情况:FrameworkElement.Parent 报告 VisualTreeHelper 不报告的父项。

Silverlight

受以下版本支持:5、4、3

Silverlight for Windows Phone

受以下版本支持:Windows Phone OS 7.1、Windows Phone OS 7.0

有关 Silverlight 支持的操作系统和浏览器的列表,请参见 支持的操作系统和浏览器

社区附加资源

显示:
© 2015 Microsoft