17

我正在创建一个 UserControl,我只是不记得你用来装饰你想作为默认内容属性的属性的属性的名称。

举一个具体的例子,假设我有一个名为“Title”的属性,我可以使用这样的属性语法来设置它 -

<local:myControl Title="the title"/>

但是控件的使用者可能希望使用这样的元素语法 -

<local:myControl> the Title </local:myControl>

我知道有一个属性需要添加到 Title 属性以启用此支持,但我忘记了它是什么并且在任何地方都找不到它。

谁能帮我刷新我的记忆?另外,我正在寻找一个类似的属性来作用于从 ItemsControl 继承的 CustomControls。

4

2 回答 2

19

内容属性属性

于 2009-03-19T10:21:46.613 回答
7

我还在 MSDN 上找到了支持集合作为内容属性的代码。 TOM_C对此表示感谢。

[ContentProperty("SomeObjects")]
public class SomeContainer
{
    private List<SomeObject> _someObjects;
    public List<SomeObject> SomeObjects
    {
        get
        {
            if (null == _someObjects)
                _someObjects = new List<SomeObject>();
            return _someObjects;
        }
    }
}

XAML:

<SomeContainer>
    <SomeObject/>
    <SomeObject/>
    <SomeObject/>
</SomeContainer>
于 2009-03-19T10:33:29.457 回答