Estoy escribiendo una aplicación de Windows y el uso de un control de cuadro de lista. Estoy desarrollando con Visual Studio C# 2008 Express Edition.algún que otro problema con ListBox.DataSource
Tengo un objeto de datos que se ve algo como esto
public class RootObject
{
public List<SubObject> MySubObjects{ get; set;}
}
Tengo un ListBox en mi forma, y también un "MyRootObject" propiedad que, obviamente, tiene un RootObject. Cuando se inicializa el control, me puse:
_listBox.DataSource = MyRootObject.MySubObjects;
Ahora, cuando se carga el formulario, que depurar y ver que el origen de datos está siendo ajustado correctamente. Pero no se muestra nada. He reemplazado el método ToString() de SubObject y ni siquiera se está llamando. Intenté configurar _listBox.DisplayMember en una propiedad de SubObject solo para ver si había algún problema allí, pero aún nada. Traté de llamar _listBox.Update() y _listBox.Refresh() después de establecer el origen de datos, pero todavía no hay amor. DataSource tiene todos los datos ... solo se niega a mostrarlo.
Así, mientras que la depuración, me preguntaba WTF y yo decidimos a hacer lo suficientemente
_listBox.DataSource = new List<SubObject>{ new SubObject(), new SubObject() };
Claro, esto funcionó, y veo dos cosas que figuran en mi cuadro de lista.
Así pues, realmente curioso, yo decidimos probar la copia de la lista de objetos y poner que en el cuadro de lista, así:
_listBox.DataSource = MyRootObject.MySubObjects.ToArray();
Esto funciona! Y es una solución a mi problema por ahora ... pero muy molesto. ¿Alguien sabe por qué tengo que copiar básicamente la lista de objetos como este para conseguir que funcione, en lugar de sólo la creación de la _listBox.DataSource = MyRootObject.MySubObjects; ? Una vez más, DataSource tiene todos los datos correctos de cualquier manera después de configurarlo ... es justo cuando se copian los datos, en realidad se muestra, y cuando no lo está, no se muestra.
tengo este mismo problema, y esta página dice que la lista sí implementa IList, así como IList : https://social.msdn.microsoft.com/Forums/vstudio/en- US/a58e4f37-4abd-4eff-820e-33d09a7a432d/net-classes-that-implement-ilist? Forum = netfxbcl –