WPF Refresh CollectionView без явного воссоздания (вызов метода Refresh ())

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

Итак, есть ли шанс обновить представление без его воссоздания?

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

7
задан illegal-immigrant 7 April 2011 в 14:30
поделиться