WPF сохраняет список TreeView отсортированным

У меня есть узел в TreeView, который я заполняю вручную и хочу сохранить отсортированный. В результате взаимодействия с пользователем заголовки TreeViewItem могут измениться, и они должны переместиться в соответствующее место в списке.

Я повторяю foreach, создавая многочисленные TreeViewItem и добавляя их к родительскому узлу. Это все дети, которые нужно отсортировать. Затем я добавляю SortDescription следующим образом:

tviParent.Items.SortDescriptions.Add(new SortDescription("Header", ListSortDirection.Ascending));

Это сортирует исходный список, но если я изменяю заголовок для одного из элементов представления в виде дерева после его отображения, элемент не сортируется снова. Текст заголовка изменяется, но позиция элементов в списке остается прежней.

Что-то мне не хватает?

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

7
задан WPFNewbie 4 August 2011 в 14:48
поделиться