WPF - UserControl默认的Content属性

时间:2009-03-19 09:58:08

标签: wpf user-controls itemscontrol custom-controls

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

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

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

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

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

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

有人能为我恢复记忆吗?此外,我正在寻找一个类似的属性来处理从ItemsControl继承的CustomControls。

2 个答案:

答案 0 :(得分:19)

答案 1 :(得分: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>