Pergunta

Eu estou trabalhando em um aplicativo para editar pares de nome / valor usando uma grade de propriedade. Algumas das propriedades no meu arquivo de classe são coleções ListDictionary. Existe atributo um editor que eu possa aplicar na declaração de propriedade que vai fazer a trabalho Editor de coleção em tempo de execução? Se não, é possível herdar ComponentModel.Design.CollectionEditor para uso em tempo de execução? Eu preciso ser capaz de adicionar, excluir e editar os valores de cobrança. Muito obrigado, Terry

Foi útil?

Solução

Eu acho que este artigo explica o que você precisa: como editar e persistem coleções com CollectionEditor

Outras dicas

de artigo codeproject [ http://www.codeproject.com /KB/cs/dzcollectioneditor.aspx][1]

Há três requisitos que uma coleção deve atender a fim de ser com sucesso persistiu com o CollectionEditor:

  1. Em primeiro lugar, a coleção deve implementar a interface IList (Herdam System.Collections.CollectionBase é na maioria dos casos, a melhor opção).
  2. Em segundo lugar, ele deve ter um indexador (item em VB.NET) propriedade. O tipo de esta propriedade é usada pelo CollectionEditor para determinar a tipo padrão das instâncias que vai adicionar à coleção.

    Para entender melhor como isso funciona, dê uma olhada GetItemType () função do CustomCollectionEditorForm:

    protegida virtual Tipo GetItemType (IList coll) { PropertyInfo pi = coll.GetType (). GetProperty ( "Item", novo Tipo [] {typeof (int)}); retorno pi.PropertyType }

  3. Em terceiro lugar, a classe de coleção deve implementar uma ou ambas as seguintes métodos: Adicionar e AddRange. Apesar interface de IList tem um membro Adicionar e CollectionBase implementos IList, você ainda tem que implementar um método Add para sua coleção, uma vez que CollectionBase declara um explícita implementação de membro da década de IList Adicionar membro. Os Serializa desenhador a coleção de acordo com o que método você implementou. Se vocês implementaram ambos, o AddRange é preferido.

Neste artigo você vai encontrar tudo que você precisa para implementar sua coleção na grade de propriedade

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top