2010-03-22 2 views
5

Ho picchiato la testa contro un muro di mattoni per questo piccolo problema da giovedì e non sono ancora più vicino a una risposta di quanto lo fossi allora.C# Enum Lista/raccolta sul supporto del tempo di progettazione di controllo utente/Web?

Ho un controllo utente che ha una proprietà come questa:

/// <summary> 
/// Gets or sets the media types. 
/// </summary> 
/// <value>The media types.</value> 
public List<MediaType> MediaTypesFilter { get; set; } 

MediaType è un enum, contenente Nessuno, PDF, immagini, ecc

Quello che vorrei è quello di essere in grado di impostare mediatypes del controllo utente nella fase di progettazione (con intelliSense), ad esempio:

<CMS:MediaPicker ID="MediaPicker runat="server" MediaTypesFilter="PDF, Image"> 

o forse è più suscettibile di provocare qualcosa di simile:

<CMS:MediaPicker ID="MediaPicker" runat="server"> 
    <MediaTypesFilter> 
     <MediaType>PDF</MediaType> 
     <MediaType>Image</MediaType> 
    </MediaTypesFilter> 
</CMS:MediaPicker> 

Penso di aver bisogno di utilizzare attributi sulla proprietà, come DesignerSerializationVisibility, ecc., Ma non riesco a capirlo. Ho letto su CollectionEditors e ciò che ho letto suggerisce che il CollectionEditor predefinito DOVREBBE essere in grado di gestirlo, quindi non penso di aver bisogno di creare un CollectionEditor personalizzato. Il più vicino che ho ottenuto finora era una proprietà interiore senza possibilità di impostare quali tipi di media. Non riesco a trovare esempi di elenchi di Enum come proprietà utilizzate in fase di progettazione. Qualcuno può indicarmi la direzione giusta o mostrarmi un codice di esempio che fa ciò che sto tentando di fare?

Per ora, ho finito con una stringa separata da virgole, e appena dividerò in un elenco a livello di codice quando ne ho bisogno, ma questo significa non intellisense in fase di progettazione, che fa schifo.

risposta