none
[Duda]List<> en ListBox WPF RRS feed

  • Pregunta

  • Hola, tengo la siguiente duda, quiero mostrar un List<> en un listBox pero me muestra

    (Coleccion)

    Listbox.Items.Add(list)

    algo asi lo estoy mostrando. bueno realmente devolviendo el metodo con la lista y agregandolo de esa forma

    ListBox.Items.add(metodo());

    alguien sabe como mostrar bien la informacion?

    • Cambiado Karen Malagón martes, 8 de diciembre de 2015 18:56 WPF issue
    viernes, 4 de diciembre de 2015 4:22

Todas las respuestas

  • Si quieres que el Listbox presente todos los Items de la lista, no tienes que hacer .Items.Add(lista) porque eso añade un único item consistente en la lista entera, cuando lo que quieres es mostrar varios items que coincidan con cada uno de los elementos contenidos en la lista. Puedes añadirlos uno por uno:

    foreach (var item in metodo()) Listbox.Items.Add(item);

    O bien, si te animas, puedes usar DataBinding.

    viernes, 4 de diciembre de 2015 7:33
  • Hola, tengo la siguiente duda, quiero mostrar un List<> en un listBox pero me muestra

    (Coleccion)

    Listbox.Items.Add(list)

    algo asi lo estoy mostrando. bueno realmente devolviendo el metodo con la lista y agregandolo de esa forma

    ListBox.Items.add(metodo());

    alguien sabe como mostrar bien la informacion?

    Si el metodo te devuelve un unico item y tienes creada una clase de ese tipo deberias usar listbox.DisplayMemberPath="ATRIBUTOAMOSTRAR" y se mostrara ese atributo.

    Si como dijeron mas arriba tu metodo te devuelve una lista lo suyo seria hacer lo siguiente:

    List<TUVARIABLE> lista = metodo();

    foreach( TUVARIABLE x in lista){

    ListBox.Items.add(x)

    }

    y despues usar el DisplayMemberPath

    viernes, 4 de diciembre de 2015 11:13
  • hola

    entiendo estas usando WPF, en ese caso tienes que asignar el ItemSource del control

    The ListBox control

    y defines un template para definir como mostrar la informacion

    no se usa ningun Items.Add() sino que asignas un origen de datos

    analiza lo comentado aqui

    How can I data bind a list of strings to a ListBox in WPF/WP7?

    veras que la lista se asigna el ItemSource

    y despues en el xaml defines

    <ListBox Margin="20" Name="YourListBox">
        <ListBox.ItemTemplate> 
            <DataTemplate> 
                <StackPanel Orientation="Horizontal"> 
                    <TextBlock Text="{Binding}" /> 
                </StackPanel> 
            </DataTemplate> 
        </ListBox.ItemTemplate> 
    </ListBox> 

    ese template indica como mostrar los datos

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 4 de diciembre de 2015 11:32