Domanda

Sto lavorando ad un'applicazione per modificare coppie nome / valore usando una griglia di proprietà. Alcune delle proprietà nel mio file di classe sono raccolte ListDictionary. È lì un attributo Editor che posso applicare alla dichiarazione di proprietà che farà il Il Collection Editor funziona in fase di esecuzione? In caso contrario, è possibile ereditare da ComponentModel.Design.CollectionEditor da utilizzare in fase di esecuzione? Devo poter aggiungere, elimina e modifica i valori della raccolta. Molte grazie, Terry

È stato utile?

Soluzione

Penso che questo articolo spieghi di cosa hai bisogno: Come modificare e persistere le raccolte con CollectionEditor

Altri suggerimenti

dall'articolo di codeproject [ http://www.codeproject.com /KB/cs/dzcollectioneditor.aspx][1]

  

Esistono tre requisiti che a   la raccolta dovrebbe incontrarsi per essere   persistito con successo con il   CollectionEditor:

     
      
  1. Innanzitutto, la raccolta deve implementare l'interfaccia IList   (ereditando da   System.Collections.CollectionBase è   nella maggior parte dei casi l'opzione migliore).
  2.   
  3. Secondo, deve avere una proprietà Indexer (Item in VB.NET). Il tipo di   questa proprietà è utilizzata dal   CollectionEditor per determinare il   tipo predefinito delle istanze che   verrà aggiunto alla raccolta.

         

    Per capire meglio come funziona, dai un'occhiata a GetItemType ()   funzione del   CustomCollectionEditorForm:

         

    Tipo virtuale protetto GetItemType (IList coll)     {         PropertyInfo pi = coll.GetType (). GetProperty (" Item " ;,                                                nuovo tipo [] {typeof (int)});         return pi.PropertyType     }

  4.   
  5. Terzo, la classe di raccolta deve implementare una o entrambe le seguenti   metodi: Aggiungi e AddRange. Sebbene   L'interfaccia di IList ha un membro Aggiungi e   CollectionBase implementa IList, tu   devo ancora implementare un metodo Add   per la tua collezione, considerato questo   CollectionBase dichiara un esplicito   implementazione dei membri dell'IList   Aggiungi membro. Il designer serializza   la collezione secondo cosa   metodo che hai implementato. Se tu   hanno implementato entrambi, l'AddRange è   preferito.

  6.   

In questo articolo troverai tutto il necessario per implementare la tua raccolta sulla griglia delle proprietà

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top