Pregunta

Estoy trabajando en una aplicación para editar pares de nombre / valor usando una cuadrícula de propiedades. Algunas de las propiedades en mi archivo de clase son colecciones ListDictionary. Esta ahí un atributo Editor que puedo aplicar en la declaración de propiedad que hará que el ¿El editor de colecciones trabaja en tiempo de ejecución? Si no, ¿es posible heredar de ComponentModel.Design.CollectionEditor para uso en tiempo de ejecución? Necesito poder agregar, borrar y editar los valores de colección. Muchas gracias, Terry

¿Fue útil?

Solución

Creo que este artículo explica lo que necesitas: Cómo editar y persistir colecciones con Editor de colecciones

Otros consejos

del artículo de codeproject [ http://www.codeproject.com /KB/cs/dzcollectioneditor.aspx??1]

  

Hay tres requisitos que un   colección debe reunirse para ser   persistido con éxito con el   Editor de colecciones:

     
      
  1. Primero, la colección debe implementar la interfaz IList   (heredando de   System.Collections.CollectionBase es   en la mayoría de los casos, la mejor opción).
  2.   
  3. Segundo, debe tener una propiedad de Indizador (Artículo en VB.NET). El tipo de   esta propiedad es utilizada por el   CollectionEditor para determinar la   tipo predeterminado de las instancias que   se agregará a la colección.

         

    Para comprender mejor cómo funciona esto, eche un vistazo a GetItemType ()   función de la   CustomCollectionEditorForm:

         

    tipo virtual protegido GetItemType (IList coll)     {         PropertyInfo pi = coll.GetType (). GetProperty (" Artículo " ;,                                                nuevo Tipo [] {typeof (int)});         devuelve pi.PropertyType     }

  4.   
  5. Tercero, la clase de colección debe implementar uno o ambos de los siguientes   métodos: Add y AddRange. A pesar de que   La interfaz de IList tiene un miembro Agregar y   CollectionBase implementa IList, tu   Todavía hay que implementar un método Add   para su colección, dado que   CollectionBase declara una explícita   Implementación miembro de la IList & # 8217; s   Añadir miembro. El diseñador serializa   la colección según lo que   Método que has implementado. Si tu   han implementado tanto, el AddRange es   preferido.

  6.   

En este artículo encontrará todo lo que necesita para implementar su colección en la cuadrícula de propiedades

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top