2008-10-17 11 views
1

Si tout va bien un certain contrôle sur mesure concepteurs/constructeurs peuvent aidertemps de conception d'attributs pour la classe CSS dans ASP.net contrôle serveur personnalisé

Je tente de construire mon premier contrôle personnalisé qui est essentiel une forme de collecte de détail client. Il doit y avoir une série d'éléments à ce formulaire qui nécessitent différents styles qui leur sont appliqués. Idéalement, j'aimerais que l'interface de propriétés VS 2005/2008 puisse appliquer la CSSClass comme elle le fait au niveau du contrôle, c'est-à-dire avec une liste déroulante des Clases CSS disponibles.

Prenez par exemple la classe à appliquer à la balise légende

/// <summary>Css Class for Legend</summary> 
[Category("Appearance")] 
[Browsable(true)] 
[DefaultValue("")] 
//I am at a loss as to what goes in [Editor] 
[Editor(System.Web.UI.CssStyleCollection), typeof(System.Drawing.Design.UITypeEditor))]   
public string LegendCSSClass 
    { 
     get { return _LegendCSSClass; } 
     set { _LegendCSSClass = value; } 
    } 

J'ai essayé quelques options, comme vous pouvez le voir ci-dessus, sans beaucoup de chance.

J'espère qu'il y a quelque chose de simple qui me manque.

Je serais également heureux des références relatives à l'

[Editor]
attribut

Répondre

1

Ajouter l'attribut CssClassProperty à votre propriété.

[Category("Appearance")] 
[Browsable(true)] 
[DefaultValue("")] 
[CssClassProperty] 
public string LegendCSSClass  
{   
    get { return _LegendCSSClass; }   
    set { _LegendCSSClass = value; }  
} 

From MSDN: ajoute des fonctionnalités d'édition Cascading Style Sheet (CSS) à une propriété au moment de la conception.

BTW pour ce genre de question, Lutz Reflector est votre ami. Vous pouvez observer les attributs appliqués aux propriétés similaires dans les classes .NET Framework.

+0

Merci pour le conseil Joe. Bien qu'il ne semble pas avoir travaillé à ce stade. Je reçois toujours une option de saisie de texte dans VS. Les pressions sur les échéances vont dicter que cela devra suffire pour le moment. Je reviendrai et j'examinerai le problème plus tard. –

Questions connexes