2010-09-19 20 views
0

這裏是我的具體問題:怎樣的元素添加到可視化樹在Silverlight

的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作爲ShrinkableContentControl的子級添加到Visualtree中?

感謝, 亨利

+0

只是跟進的問題。我不想使用Panel。我只想強制一個孩子。 – ryhzhang 2010-09-19 01:46:32

回答

2

如果你想要一個孩子,這聽起來像你應該自ContentControl繼承:

代表用一整塊的任何類型的內容控制。

只需設置Content屬性