Całkowicie zakłopotany przez coś, co wydaje się łatwe, i zostało zrobione na śmierć ... A jednak nadal jest zakłopotany.Self Sorting Listbox
Co chcę zrobić: Mam ListBox WinForm. Jej elementy są wypełnione obiektami, ustawiony jest DisplayMember. W trakcie działania aplikacji dane w wymienionych pozycjach mogą ulec zmianie, w tym pola za DisplayMember. Chcę, aby tekst wyświetlany w polu ListBox zmieniał się, gdy tak się stanie, a także chcę, aby ListBox ponownie się sortował, aby elementy pozostały w kolejności alfabetycznej.
A BindingList działa dobrze, aby zaktualizować wyświetlany tekst, gdy dane się zmieniają, ale na moje życie, nie mogę go posortować.
Sprawdziliśmy to: http://msdn.microsoft.com/en-us/library/ms993236.aspx
Plus liczne tutaj o tym, jak to zrobić wątków, ale żaden z nich wydaje się działać dla ListBox.
Ustawienie sortowanej właściwości na liście list jest również niepomocne.
Co muszę zrobić, aby listbox sam się sortował?
Czy wiążące bezpośrednio do BindingList lub używając DataSource następnie BindingList? Nigdy nie miałem problemów z tym ostatnim. – leppie
Mam listę obiektów (w rzeczywistości obiektów Entity Framework), przekazuję je do konstruktora BindingList, a następnie przypisanie tej BindingList do DataSource ListBox. Spowoduje to aktualizację DisplayMember, ale nie będzie sortować automatycznie. Ponieważ BindingList nie sortuje natywnie, to nie jest niespodzianka. Ale nie mogę tego zmusić do sortowania, nawet gdy tworzę własną pochodną wersję tego, jak w przykładzie MSDN, ani za pomocą innych podejść. – Jack
O jakiej wersji .Net mówimy tutaj? –