В моей форме есть список, который выглядит следующим образом:
<ListBox Name="lbResults" SelectionChanged="lbResults_SelectionChanged"/>
Я привязываю к нему следующую коллекцию:
ObservableCollection<Hand> oHands = new ObservableCollection<Hand>();
используя следующий код:
lbResults.DataContext = oHands;
Binding binding = new Binding();
lbResults.SetBinding(ListBox.ItemsSourceProperty, binding);
Коллекция oHands заполняется через фонового работника, который объявляет через событие всякий раз, когда доступен новый объект Hand. ListBox прекрасно обновляется, когда что-то добавляется. Результат ToString () объекта Hand отображается, и это то, что я хочу - пока все хорошо. Однако, когда фоновый работник заканчивает работу
void finder_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
oHands = new ObservableCollection<Hand>(oHands.OrderBy(o => o.PotSize));
lbResults.SetBinding(ListBox.ItemsSourceProperty, new Binding());
}
Элементы в списке все еще отображаются в исходном порядке. Я могу подтвердить, что список переупорядочен, но элементы все еще отображаются в исходном порядке. Как обновить эту привязку?