2009-12-09 5 views
0

Я использую C# в комбинации WPF.Сортировка

Я использовал CollectionView с одним SortDescription. Но в некоторых случаях SortDescription не используется. Но я не мог понять, почему это происходит.

ComboBox не отсортирован по какой-либо причине. Когда я добавляю второй SortDescription с тем же параметром сортировки, это также происходит.

No cv.sortdescriptions.clear(); используется для этого SortDescription. В 99% случаев он работает отлично, но почему-то по одной причине это происходит.

У кого-нибудь есть ключ?

+0

попытка обновить вид после изменения коллекции (CollectionViewSource.GetDefaultView (SomeCollection) .refresh()) –

ответ

3

в качестве примечания стороны, было бы более удобно использовать свойство CustomSort. По-видимому, SortDescriptions использует отражение, поэтому для больших наборов данных это неприемлемо медленно.

check this blog for more information

1

В зависимости от типа коллекции, возможно, что ваш CollectionView.CanSort является ложным. В этом случае сортировка не будет работать, и SortDescription будет проигнорирован.

+0

Но я проверил это, и это не изменилось в коде или автоматически. – pipelinecache

2

Какой тип имущества вы сортируете?

Сортировка WPF сортирует только свойства, которые реализуют IComparable. Обратите внимание, что реализации IComparable<T> недостаточно - вам нужно явно реализовать не общий интерфейс.

+0

Это точно, но описание вида работает в 99% случаев. И не изменяется кодом. Я не могу решить эту проблему в среде программирования или в тестовой среде. но у клиента есть этот выпуск. И даже клиент не может найти эту проблему. Это происходит в странные моменты, и переменные всегда одни и те же. – pipelinecache

Смежные вопросы