WPF Refresh CollectionView без явного воссоздания (вызов метода Refresh ()) - PullRequest
7 голосов
/ 07 апреля 2011

Можно ли «обновить» (обновить) представление без явного вызова метода Refresh ()?Проблема заключается в том, что он воссоздает целую коллекцию, и в пользовательском интерфейсе выбранная строка становится невыбранной.У меня есть сложное представление списка (каждая строка содержит другой подсписок списка), и когда я вызываю Refresh (), выбор в подстроки исчезает.Очистка SortDescription и добавление их снова вручную для меня не работает (кажется, что методы сортировки описания Clear () и Add () вызывают функцию Refresh () внутри)

Таким образом, любой шанс обновить представление без негоотдых?

Моя ситуация: с помощью Dispatcher.Timer я обновляю все свойства каждого элемента вручную (чтобы избежать исчезновения выделения), затем обновляю свойство типа списка одного элемента (свойство другой коллекции, оно обновляется ')вручную), а затем мне нужно каким-то образом обновить представление, когда я вызываю Refresh () для подколлекции, все в порядке, но мне также нужно обновить коллекцию верхнего уровня, чтобы применить описания сортировки к верхнемуколлекция уровней, которая, вероятно, была изменена.

Ответы [ 2 ]

9 голосов
/ 07 апреля 2011

Нашел решение в этом замечательном сообщении в блоге: DrWPF

1 голос
/ 07 апреля 2011

Другим вариантом является использование ContinuousLinq для постоянного сохранения сортировки / группировки представлений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...