代码之家  ›  专栏  ›  技术社区  ›  Jason Jackson

如何在Silverlight中设置FrameworkElement的父属性?

  •  4
  • Jason Jackson  · 技术社区  · 17 年前

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

    这是一个简单的例子,但我认为你可以看到一般问题。我有许多更复杂的控件,它们都有这个问题。我知道我失去了一些魔力。如果ContentControl的Content属性设置为某个子项,则它会以某种方式将该子项的父项设置为自身。

    更多信息

    2 回复  |  直到 17 年前
        1
  •  4
  •   Jason Jackson    17 年前

    经过相当多的研究,我认为这是不可能的。我能够使用 VisualTreeHelper 完成我的最终目标。

        2
  •  1
  •   BC.    17 年前

    父属性不能是任意的,它反映了渲染时使用的控件的真实父属性。

    如果元素已实例化,但未附加到最终连接到页面级根元素或应用程序对象的任何逻辑树,则父元素可以是空引用(在Visual Basic中为Nothing)。