Как добавить элемент в визуальное дерево в Silverlight - PullRequest
0 голосов
/ 19 сентября 2010

Вот моя конкретная проблема:

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, и он не добавляется в визуальное дерево, поэтому ничего не отображается.

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

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

1 Ответ

2 голосов
/ 19 сентября 2010

Если вам нужен единственный дочерний элемент, похоже, что вы должны наследовать от ContentControl:

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

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

...