如何在Silverlight中向可视树添加元素

时间:2010-09-19 01:45:16

标签: silverlight visual-tree

这是我的具体问题:

的Xaml:

<local:ShrinkableContentControl x:Name="m_ShrinkableContentControl">
    <Border Background="SkyBlue">
        <Button Click="Button_Click_1" Content="Hello"/>
    </Border>
</local:ShrinkableContentControl>

ShrinkableContentControl的代码:

[ContentProperty("Shrinkable")]
public class ShrinkableContentControl : FrameworkElement
{
    protected override Size MeasureOverride(Size availableSize)
    {
        return base.MeasureOverride(availableSize);
    }

    protected override Size ArrangeOverride(Size finalSize)
    {
        this.Shrinkable.Arrange(new Rect(0, 0, 100, 100));
        return base.ArrangeOverride(finalSize);
    }

    public FrameworkElement Shrinkable { get; set; }
}

这里的问题是,Shrinkable是Content,并没有添加到visualtree中,因此不会显示任何内容。

有人可以告诉我是否有办法将Shrinkable作为ShrinkableContentControl的子项添加到visualtree中?

谢谢, 亨利

1 个答案:

答案 0 :(得分:2)

如果你想要一个孩子,听起来你应该继承ContentControl:

  

表示具有任何类型的单个内容的控件。

只需设置Content属性

即可