Вопрос

Я работаю над приложением для редактирования пар имя / значение, используя сетку свойств. Некоторые из свойств в моем файле класса являются коллекциями ListDictionary. Есть атрибут редактора, который я могу применить при объявлении свойства, которое сделает Работа редактора коллекций во время выполнения? Если нет, возможно ли наследовать от ComponentModel.Design.CollectionEditor для использования во время выполнения? Я должен быть в состоянии добавить, удалить и редактировать значения коллекции. Большое спасибо, Терри

Это было полезно?

Решение

Думаю, в этой статье объясняется, что вам нужно: Как редактировать и сохранять коллекции с помощью CollectionEditor

Другие советы

из статьи codeproject [ http://www.codeproject.com /KB/cs/dzcollectioneditor.aspx][1]

  

Есть три требования, которые   Коллекция должна встретиться, чтобы быть   успешно сохранились с   CollectionEditor:

     <Ол>   
  • Во-первых, коллекция должна реализовывать интерфейс IList   (наследование от   System.Collections.CollectionBase is   в большинстве случаев лучший вариант).
  •   
  • Во-вторых, он должен иметь свойство Indexer (Item in VB.NET). Тип   это свойство используется   CollectionEditor для определения   тип по умолчанию экземпляров, которые   добавлю в коллекцию.

         

    Чтобы лучше понять, как это работает, взгляните на GetItemType ()   функция   CustomCollectionEditorForm:

         

    защищенный виртуальный тип GetItemType (IList coll)     {         PropertyInfo pi = coll.GetType (). GetProperty (" Item " ;,                                                новый тип [] {typeof (int)});         вернуть pi.PropertyType     }

  •   
  • В-третьих, класс коллекции должен реализовывать одно или оба из следующих   методы: Add и AddRange. Хотя   Интерфейс IList имеет члена Add и   CollectionBase реализует IList, вы   все равно придется реализовать метод Add   для вашей коллекции, учитывая, что   CollectionBase объявляет явное   Участник реализации IList & # 8217; s   Добавить члена. Дизайнер сериализует   коллекция в соответствии с чем   метод, который вы реализовали. если ты   реализовали оба, AddRange   предпочтительным.

  •   

    В этой статье вы найдете все необходимое для реализации своей коллекции в сетке свойств

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top