Attributo della fase di progettazione per la classe CSS nel controllo server personalizzato ASP.net
-
03-07-2019 - |
Domanda
Speriamo che alcuni progettisti / costruttori di controlli personalizzati possano aiutare
Sto tentando di creare il mio primo controllo personalizzato che è essenziale un modulo di raccolta dettagli client. Ci deve essere una serie di elementi in questo modulo che richiedono vari stili applicati a loro. Idealmente, vorrei che l'interfaccia delle proprietà di VS 2005/2008 fosse in grado di applicare la CSSClass come avviene a livello di controllo, ovvero con un elenco a discesa delle Classe CSS disponibili.
Prendi ad esempio la Classe da applicare al tag legenda
/// <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; }
}
Ho provato un paio di opzioni, come puoi vedere dall'alto, senza molta fortuna.
Spero che manchi qualcosa di semplice.
Sarei anche felice per i riferimenti relativi all'attributo
[Editor]
Soluzione
Aggiungi l'attributo CssClassProperty alla tua proprietà.
[Category("Appearance")]
[Browsable(true)]
[DefaultValue("")]
[CssClassProperty]
public string LegendCSSClass
{
get { return _LegendCSSClass; }
set { _LegendCSSClass = value; }
}
Da MSDN : aggiunge cascata Funzionalità di modifica dei fogli di stile (CSS) su una proprietà in fase di progettazione.
A proposito di questo tipo di domanda, Lutz Reflector è tuo amico. È possibile esaminare gli attributi applicati a proprietà simili nelle classi .NET Framework.