none
Modificar elementos de un listbox sin tener que hacer un databind completo RRS feed

  • Pregunta

  • Buenas,

    Tengo un listbox cuyo itemsource es una lista de objetos. En un momento determinado, elimino un elemento de dicha lista, y hago un "rebinding" del listbox. Esto funciona, pero es lento a más no poder... me pregunto si existe alguna forma de eliminar un elemento del listbox sin tener que "rebindear" todo el control.

    estoy seguro que algun que otro crack sabe la respuesta xD


    Jesús Bosch Aiguadé
    MSP - MCPD
    www.plungeinteractive.com
    http://geeks.ms/blogs/jbosch
    Twitter: @jboschaiguade
    miércoles, 11 de mayo de 2011 17:02

Respuestas

  • Jesús!

    Tienes toda la razón... se me mezclo de WPF :P, si quieres refrescar la lista de items, deberías hacer una notificación de que la propiedad asignada en el binding a cambiado usando INotifyPropertyChanged.

    Un saludo!


    MCTS .NET Framework 3.5 Windows Forms Application Development
    MCTS .NET Framework 3.5 Windows Presentation Foundation
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter
    • Marcado como respuesta Jesús Bosch viernes, 13 de mayo de 2011 10:07
    jueves, 12 de mayo de 2011 9:21
    Moderador

Todas las respuestas

  • Hola Jesús,

    Si despues de eliminar el objeto de la lista haces una notificación de cambio de la propiedad de la lista (a la que está bindeado el ItemsSource) debería refrescar los items.

    Si no, puedes hacer un Listbox1.Items.Refresh manualmente.

    Un abrazo!


    MCTS .NET Framework 3.5 Windows Forms Application Development
    MCTS .NET Framework 3.5 Windows Presentation Foundation
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter
    • Marcado como respuesta Jesús Bosch jueves, 12 de mayo de 2011 7:14
    • Desmarcado como respuesta Jesús Bosch jueves, 12 de mayo de 2011 7:14
    jueves, 12 de mayo de 2011 6:27
    Moderador
  • Ehhh espera un momento, el método Refresh no existe xD

    Listbox1.Items.Refresh


    Jesús Bosch Aiguadé
    MSP - MCPD
    www.plungeinteractive.com
    http://geeks.ms/blogs/jbosch
    Twitter: @jboschaiguade
    jueves, 12 de mayo de 2011 7:16
  • Jesús!

    Tienes toda la razón... se me mezclo de WPF :P, si quieres refrescar la lista de items, deberías hacer una notificación de que la propiedad asignada en el binding a cambiado usando INotifyPropertyChanged.

    Un saludo!


    MCTS .NET Framework 3.5 Windows Forms Application Development
    MCTS .NET Framework 3.5 Windows Presentation Foundation
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter
    • Marcado como respuesta Jesús Bosch viernes, 13 de mayo de 2011 10:07
    jueves, 12 de mayo de 2011 9:21
    Moderador
  • Una pregunta para no tener que abrir otro post y liar a nadie, ¿cómo haces el "Rebinding" jesús?, te lo pregunto porque la verdad que crear notificaciones para todo me vuelve loco.

     

    Saludos

    lunes, 7 de noviembre de 2011 2:51