2009-03-19 9 views
15

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

Pour donner un exemple concret, dire que j'ai une propriété appelée « Titre » que je peux définir en utilisant la syntaxe de la propriété comme celui-ci -

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

Mais le consommateur du contrôle peut vouloir utiliser la syntaxe des éléments comme celui-ci -

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

Je sais qu'il est un attribut que je dois ajouter à la propriété titre avec pour activer ce support, mais je l'ai oublié ce qu'il est et ne peut trouver nulle part.

Quelqu'un pourrait-il me rafraîchir la mémoire? En outre, je suis à la recherche d'un attribut similaire pour agir sur CustomControls héritant de ItemsControl.

Répondre

7

Je trouve également le code pour les collections de soutien que la propriété du 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> 
Questions connexes