2010-09-19 2 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 - это Content и не добавляется в visualtree, поэтому ничего не отображается.

Может ли кто-нибудь сказать мне, есть ли способ добавить Термоусадочную в качестве ребенка ShrinkableContentControl в visualtree?

Спасибо, Генри

+0

Просто следовать на вопрос. Я не хочу использовать панель. Я хочу заставить одного ребенка. – ryhzhang

ответ

2

Если вы хотите одного ребенка, это звучит, как вы должны наследовать от ContentControl:

Представляет элемент управления с помощью одной части содержимого любого типа.

Просто установите Content свойство

 Смежные вопросы

  • Нет связанных вопросов^_^