Lors du développement de DataBoundControl, nous utilisons la persistence de propriétés pour les éléments de la collection "bindée".
Je me suis retrouvé face à un effet de bord de l'utilisation de cette propriété. Voici la première déclaration utilisée :
1 2 3 4 |
[Category("Data")] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [PersistenceMode(PersistenceMode.InnerProperty)] public virtual TabHeaderCollection Items |
L'utilisation de mode InnerProperty a pour effet de proposer 2 éléments dans l'intellisence de Visual Studio, la propriété Items ainsi que le type des éléments sous-jacents :

Afin d'arriver au même comportement qu'une DropDownList et masquer de l'intellisence la propriété Items, il vous suffit d'utiliser le mode InnerDefaultProperty :
1 2 3 4 |
[Category("Data")] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [PersistenceMode(PersistenceMode.InnerDefaultProperty)] public virtual TabHeaderCollection Items |
Et voici le résultat :

Aurelien
Member of WygTeam
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :