Редактировать коллекцию строк в редакторе коллекций VS2010 - PullRequest
0 голосов
/ 11 августа 2011

Поскольку все мои мои сомнения здесь исчезают ... :) У меня есть другой вопрос.

У меня есть пользовательский элемент управления, в котором у меня есть список строк List, и я бы хотел, чтобы пользователь моего элемента управления мог редактировать список в редакторе свойств, но я не работал .. Я могу нажать на кнопка, чтобы сделать редактор коллекции видимым, но ключ добавления не активирован, и появляется сообщение «Редактирование свойства недоступно».

Я сделал пользовательский быстрый и грязный класс

    public class DataUrl
{
    public string Url {get; set;}
    public DataUrl() { }
    public override string ToString()
    {
        return Url.ToString();
    }
}

и с этим он работает, но его ... Я подозреваю, что это не работает, потому что строка (или строка) не имеет конструктора без параметров. Я также пытался использовать атрибут

[NewItemTypesAttribute(typeof(string))]

но ничего не стоит .. Может ли кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 14 сентября 2011
 public class DataUrl : Component 
 {
      private readonly List<string> _urlList = new List<string>();

      public DataUrl() : base() {}

      public DataUrl(IContainer container) : base()
      {
         container.Add(this);

         InitializeComponent();
      }

      [Editor("System.Windows.Forms.Design.StringCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))]
      [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]        
      public List<string> UrlList { get { return _urlList; } }          

      public override string ToString()
      {
         return Url.ToString();
      }
}
...