У меня есть узел TreeView, который я заполняю вручную и хочу сохранить сортировку. В результате взаимодействия с пользователем заголовки TreeViewItem могут измениться, и они должны переместиться в соответствующее место в списке.
Я перебираю foreach, создавая множество TreeViewItem и добавляя их в родительский узел. Это все дети, которые должны быть отсортированы. Затем я добавляю SortDescription следующим образом.
tviParent.Items.SortDescriptions.Add(new SortDescription("Header", ListSortDirection.Ascending));
Это сортирует начальный список, но если я изменю заголовок для одного из элементов представления дерева после его отображения, элемент не сортируется снова. Текст заголовка изменяется, но положение элементов в списке остается прежним.
Что-то мне не хватает?
Я попытался очистить список и заново его заполнить, что сработает, однако это вызывает некоторые проблемы в моей программе, так как у меня много логики, когда выбранный элемент изменяется и так как один из элементов представления дерева в списке то, что я очищаюсь, выбрано, оно вызывает всю эту логику, когда я очищаю список, а затем снова, когда я программно повторно выбираю элемент после перестройки списка.