2010-03-22 64 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列表的任何示例作为设计时使用的属性。有人能指出我正确的方向吗?或者向我展示一些我正在尝试做的事情的示例代码?

现在,我已经用逗号分隔的字符串结束了,并且只是在我需要的时候以编程方式将它分成列表,但这意味着在设计时没有智能感知,这很糟糕。

回答