Question

Je crée un UserControl et je ne me souviens tout simplement pas du nom de l'attribut que vous utilisez pour décorer la propriété que vous souhaitez utiliser comme propriété de contenu par défaut.

Pour donner un exemple concret, disons que j'ai une propriété appelée "Titre" que je peux définir à l'aide d'une syntaxe de propriété comme celle-ci -

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

Mais le consommateur du contrôle peut vouloir utiliser la syntaxe d'élément comme ceci -

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

Je SAIS qu'il existe un attribut que je dois ajouter à la propriété Title pour activer cette prise en charge, mais j'ai oublié ce que c'est et je ne le trouve nulle part.

Quelqu'un pourrait-il me rafraîchir la mémoire? De plus, je recherche un attribut similaire pour agir sur les CustomControls hérités de ItemsControl.

Était-ce utile?

Autres conseils

J'ai également trouvé le code de prise en charge des collections en tant que propriété de contenu sur MSDN. TOM_C est à remercier pour cela.

[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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top