WPF - UserControl атрибут содержимого по умолчанию - PullRequest
16 голосов
/ 19 марта 2009

Я создаю UserControl и просто не могу вспомнить имя атрибута, который вы используете для оформления свойства, которое вы хотите использовать в качестве свойства содержимого по умолчанию.

Чтобы привести конкретный пример, скажем, у меня есть свойство под названием «Заголовок», которое я могу установить, используя синтаксис свойства, подобный этому -

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

Но потребитель элемента управления может захотеть использовать синтаксис элемента следующим образом -

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

Я ЗНАЮ, что есть атрибут, который мне нужно добавить к свойству Title, чтобы включить эту поддержку, но я забыл, что это такое, и не могу его нигде найти.

Может ли кто-нибудь освежить мою память для меня? Кроме того, я ищу аналогичный атрибут, который будет действовать в CustomControls, наследуемом от ItemsControl.

Ответы [ 2 ]

19 голосов
/ 19 марта 2009
7 голосов
/ 19 марта 2009

Я также нашел код для поддержки коллекций как свойство содержимого в 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>
...