c# - 如何在 Silverlight 中设置 FrameworkElement 的 Parent 属性?

标签 c# .net silverlight silverlight-2.0

我写了一个基于 Control 的自定义 Silverlight 控件。我有两个名为 Top 和 Bottom 的 DependencyProperties,它们都包含用于特定布局显示的子控件。然后,我使用 ControlTemplate 将这两个控件排列成一个网格,将一个放在第 0 行,另一个放在第 1 行。我遇到的问题是我似乎无法弄清楚如何让每个子控件的 Parent 属性指向我的自定义控件。当我在运行时检查每个控件时,每个控件的 Parent 属性为空。

这是一个简单的例子,但我想你可以看出一般性的问题。我有许多更复杂的控件都存在这个问题。我知道我缺少一些魔法。如果 ContentControl 的 Content 属性设置为某个子项,它会以某种方式将该子项的父项设置为其自身。

编辑:更多信息

在 WPF 中,可以使用 AddVisualChild()、RemoveVisualChild()、AddLogicalChild()、RemoveLogicChild() 等函数来管理父/子关系,但这些函数在 Silverlight 中不可用。

最佳答案

经过大量研究后,我认为这是不可能的。我能够使用 VisualTreeHelper 递归通过可视化树而不是逻辑树实现我的最终目标。

关于c# - 如何在 Silverlight 中设置 FrameworkElement 的 Parent 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/517836/

相关文章:

javascript - Web 表单 Azure Active Directory : Failed to load resource: the server responded with a status of 401

c# - Protobuf 消息平台是否独立

c# - 使用其类型的向下转型实例

.net - ASP.NET MVC-MapRoute与route.Add(和404s)

c# - 为什么 1.0f + 0.0000000171785715f 返回 1f?

c# - 在 ASP.NET MVC 中将 FileShare.ReadWrite 与 HttpPostedFile 结合使用

.net - 检测垃圾收集的附加事件处理程序

Silverlight 列表框触发 MouseRightButtonDown,但不触发 MouseLeftButtonDown

c# - 防止只读文本框在 Silverlight 中变灰

wcf - 验证 WCF 中的每个调用