Вопрос

Хорошо, у меня есть ItemsControl привязан к List<IComparableObject>, каждую секунду List объекты меняются, поэтому мне приходится их прибегать, поэтому каждую секунду я вызываю List.Sort() метод.Проверяя панель Watch в VS2008, я могу сказать List сортируется, но ItemsControl нет.Как я могу заставить это работать?

Спасибо!

Это было полезно?

Решение

Вам нужно отсортировать CollectionView:

 List<MyObject> myInternalList = new List<MyObject>();
 ...
 ICollectionView colView = CollectionViewSource.GetDefaultView(myInternalList);
 colView.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));

Вам нужно получить представление по умолчанию из списка.В этом случае вам не нужно сортировать список, поскольку представление всегда будет отсортировано.Вы можете добавить столько описаний сортировки, сколько захотите.

ХТХ

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top