2009-08-20 17 views
23

Incluso si sé que no es ideal - Necesito poblar programáticamente un listView (por alguna razón).WPF ListView: cómo agregar elementos mediante programación.

estoy declarando mis columnas en el marcado:

  <ListView.View> 
       <GridView> 
        <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=Name}"/> 
        <GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=Value}"/> 
       </GridView> 
      </ListView.View> 

Estoy añadiendo los artículos como éste en el código (que es, obviamente, en un bucle):

  MyData data = getDataItem(index); //< -- whatever 
      ListViewItem item = new ListViewItem(); 
      item.DataContext = data; 
      this.myListView.Items.Add(item); 

Dónde MyData se define como:

public class MyData 
{ 
    public string Name { get; set; } 
    public string Value { get; set; } 
} 

Se están agregando los artículos (puedo ver las filas) pero no veo ningún contenido.

¿Alguien alguna pista?

Cualquier ayuda apreciada!

Respuesta

30

trabaja cambiando el código para:

 MyData data = getDataItem(index); //< -- whatever 
     this.myListView.Items.Add(data); 

Ahora parece obvio, pero ... vaya usted a saber!

+0

gracias por la solución! funcionó como encanto :) – SolidSnake

+0

hey man, de nada, me alegro de que también haya ayudado a otra persona :) – JohnIdol

+0

¿Sabes también cómo resolver el mismo problema, teniendo una lista general, que puede tomar diferentes objetos, con diferentes propiedades ? – Markus

Cuestiones relacionadas