抽象类Panel上的Silverlight ContentProperty

时间:2010-08-23 21:26:42

标签: c# silverlight silverlight-4.0

以下是我的班级MyContainer的层次结构。请注意,PanelChildrenMyContainer。我还可以使用Children中的Panel吗?

[ContentProperty("Children", true)]的含义是什么?摘要解释说:

  

指定类的哪个属性   可以解释为内容   类解析时的属性   XAML处理器。

但我不明白他的意思?

[ContentProperty("Children", true)]
public abstract class Panel : FrameworkElement
{
    //
    // Summary:
    //     Gets the collection of child elements of the panel.
    //
    // Returns:
    //     The collection of child objects. The default is an empty collection.
    public UIElementCollection Children { get; }
}

public class Canvas : Panel
{....}

public class MyContainer : Canvas
{

    public MyContainer();

    public ObservableCollection<MyObject> Children {get;}
}

1 个答案:

答案 0 :(得分:1)

ContentProperty属性表示以下两个元素是等效的 - Canvas的Children属性是Canvas的默认内容。

<Canvas>
    <TextBlock Text="Hello"/>
    <Button Content="World"/>
</Canvas>

<Canvas>
    <Canvas.Children>
        <TextBlock Text="Hello"/>
        <Button Content="World"/>
    </Canvas.Children>
</Canvas>