I am developing a program that should be able to display long (up to 500 items) lists of data that need to be resorted when their contents change.
Essentially, I have a viewmodel with an observable collection that contains classes with observable data bound to the gui, which is displayed in a ListView.
The data must be sorted, but the data may also change at any time, and the list needs to be resorted each time.
What is the best mechanism / metaphor for displaying and keeping the whole thing resorted without locking up the GUI? I have a solution using NotifyCollectionChangedEventArgs and some sorting functions, but its SLOW - I'm assuming it resorts and rebuilds the entire GUI each time a data element is changed.