![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| V0fka |
|
||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Привет!
Есть ListView:
который привязан к ObservableCollection<ClientConnection> connections:
При добавлении элементов в connections, они сразу отображаются в ListView. Появилась задача отсортировать данные в ListView по полю UserNameWin. Пробовал несколько вариантов: 1)
2)
3) В конец обоих вариантов пробовал добавлять
В результате у меня получилось отсортировать саму ObservableCollection, но ListView при этом не сортируется в таком же порядке. Так же качнул с сайта Майкрософта пример сортировки ListView. На моё удивление, он у меня открылся и даже даже откомпилировался и запустился. Но натянуть это на свой случай у меня не вышло. У них ListView не привязан ни к чему и его наполнение происходит прямо в xaml-e и возможно с привязкой этот способ использовать нельзя. Вопрос: как отсортировать данные в ListView? |
||||||||||
|
|||||||||||
| Ilya81 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 18.4.2014 Где: ЛО, Всеволожский р-н Репутация: 1 Всего: 4 |
Чтоб сохранить отображение элементов (например, избежать перехода в начало, когда пользователь прокрутил список дальше), не следует менять экземпляр коллекции (если, конечно, обновление не задумано). Пользуйтесь методом MoveItem. Если ж всё-таки лучше обновить, то надо вызвать событие PropertyChanged для свойства коллекции после пересоздания коллекции.
|
|||
|
||||
| V0fka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Ilya81,
А где именно его вызывать? Я такой метод не нашел не у ObservableCollection, не у ListView.
Первоочередная задача - отсортировать хоть как-то |
|||
|
||||
| Ilya81 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 18.4.2014 Где: ЛО, Всеволожский р-н Репутация: 1 Всего: 4 |
Я перепутал название с protected-методом, имел в виду Move, который у ObservableCollection.
Это событие интерфейса INotifyPropertyChanged, его следует реализовать в том классе, в котором свойство connections (т. е. к которому Binding). Поищите про интерфейс INotifyPropertyChanged, примеров должно быть предостаточно. |
||||
|
|||||
| V0fka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Ilya81, ура!!! Реализовал INotifyPropertyChanged и сортировка начала работать, причем даже когда выделена какая-то строка, то выделение с неё не слетает. Большое вам спасибо!
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |