Pierdo items en la colección de un componente en tiempo de diseño

19/01/2009 - 10:22 por José Luis | Informe spam
Hola a todos.

Tengo un componente en el que quiero declarar una lista de objetos de una
clase "Datos":


[serializable]
public class Datos{
public Datos();
public int Id {get;set;}
public string Nombre{get;set;}
public string Descripcion{get;set;}
}


Mi componente implementa una lista de datos:

public partial class Componente: Component
{
private BindingList<Datos> mList = new BindingList<Datos>();

public BindingList<Datos> Lista
{
get{ return mList;}
set{ mList = value;}
}
}


Desde el diseñador tengo acceso a la colección Lista, y despliego el editor
de colecciones sin problema. Además, puedo editar la lista, añadir y
modificar elementos bien. El problema está en que los objetos que yo añado a
la lista en tiempo de diseño los pierdo al volver a entrar en el editor. Al
entrar en el editor de colecciones, la lista está vacía.

He mirado en el archivo del diseñador, y el IDE añade esta línea, que
supongo que es en la que se hace la carga de los valores que yo añado:
this.tsDataSet1.Tablas =
((System.ComponentModel.BindingList<TSDataControls.DescriptorTabla>)(resources.GetObject("tsDataSet1.Tablas")));

¿Qué es lo que tengo que hacer para que el IDE guarde los valores que yo
asigno en tiempo de ejecución a la lista?


Saludos
 

Leer las respuestas

#1 José Luis
19/01/2009 - 10:47 | Informe spam
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
http://msdn.microsoft.com/es-es/library/tk67c2t8(en-us,VS.85).aspx


public partial class Componente: Component
{
private BindingList<Datos> mList = new BindingList<Datos>();

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public BindingList<Datos> Lista
{
get{ return mList;}
set{ mList = value;}
}
}




Saludos :)



"José Luis" escribió en el mensaje de
noticias:#
Hola a todos.

Tengo un componente en el que quiero declarar una lista de objetos de una
clase "Datos":


[serializable]
public class Datos{
public Datos();
public int Id {get;set;}
public string Nombre{get;set;}
public string Descripcion{get;set;}
}


Mi componente implementa una lista de datos:

public partial class Componente: Component
{
private BindingList<Datos> mList = new BindingList<Datos>();

public BindingList<Datos> Lista
{
get{ return mList;}
set{ mList = value;}
}
}


Desde el diseñador tengo acceso a la colección Lista, y despliego el
editor de colecciones sin problema. Además, puedo editar la lista, añadir
y modificar elementos bien. El problema está en que los objetos que yo
añado a la lista en tiempo de diseño los pierdo al volver a entrar en el
editor. Al entrar en el editor de colecciones, la lista está vacía.

He mirado en el archivo del diseñador, y el IDE añade esta línea, que
supongo que es en la que se hace la carga de los valores que yo añado:
this.tsDataSet1.Tablas =
((System.ComponentModel.BindingList<TSDataControls.DescriptorTabla>)(resources.GetObject("tsDataSet1.Tablas")));

¿Qué es lo que tengo que hacer para que el IDE guarde los valores que yo
asigno en tiempo de ejecución a la lista?


Saludos

Preguntas similares