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]

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top