2010-03-22 45 views
5

自從星期四以來,我一直在對着磚牆敲擊我的頭,以解決這個小問題,我還沒有比當時更接近答案。C#用戶/ Web控件設計時支持Enum List/Collection?

我有具有這樣的屬性的用戶控件:

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

的MediaType是一個枚舉,含無,PDF,圖片等

我想什麼是能夠設置用戶控件的mediatypes在設計的時候(與智能感知),例如:

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

或許它更可能導致這樣的事情:

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

我想我需要使用屬性上的屬性,比如DesignerSerializationVisbility等,但我無法弄清楚。我讀過關於CollectionEditor的內容,我讀過的內容表明默認的CollectionEditor應該能夠處理這個問題,所以我不認爲我需要創建一個自定義的CollectionEditor。到目前爲止,我所得到的最接近的內在屬性是沒有能力設置哪種媒體類型。我似乎無法找到Enum列表的任何示例作爲設計時使用的屬性。有人能指出我正確的方向嗎?或者向我展示一些我正在嘗試做的事情的示例代碼?

現在,我已經用逗號分隔的字符串結束了,並且只是在我需要的時候以編程方式將它分成列表,但這意味着在設計時沒有智能感知,這很糟糕。

回答