Я бился головой об кирпичную стену из-за этой маленькой проблемы с четверга, и я до сих пор не ближе к ответу, чем тогда.
У меня есть пользовательский элемент управления, у которого есть такое свойство:
/// <summary>
/// Gets or sets the media types.
/// </summary>
/// <value>The media types.</value>
public List<MediaType> MediaTypesFilter { get; set; }
MediaType - это перечисление, содержащее None, PDF, изображение и т. Д.
Что мне хотелось бы, так это иметь возможность устанавливать медиатипы пользовательского элемента управления во время разработки (с помощью intellisense), например:
<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 и т. Д., Но я не могу понять это. Я читал о CollectionEditors, и то, что я прочитал, предполагает, что по умолчанию CollectionEditor ДОЛЖЕН быть в состоянии справиться с этим, поэтому я не думаю, что мне нужно создавать собственный CollectionEditor. Самым близким, что я получил, было внутреннее свойство, в котором не было возможности устанавливать, какие типы носителей. Я не могу найти примеры списков Enum как свойств, используемых во время разработки. Может ли кто-нибудь указать мне правильное направление или показать пример кода, который делает то, что я пытаюсь сделать?
На данный момент я получил строку, разделенную запятыми, и просто разделю ее программно на список, когда мне это понадобится, но это означает отсутствие intellisense во время разработки, что отстой.