【发布时间】:2023-03-05 01:38:02
【问题描述】:
我在 TreeView 上有一个节点,我手动填充并希望保持排序。通过用户交互,TreeViewItem 上的标题可能会发生变化,它们应该移动到列表中的适当位置。
我遍历创建大量 TreeViewItem 的 foreach 并将它们添加到父节点。需要对所有孩子进行分类。然后我添加一个 SortDescription 如下。
tviParent.Items.SortDescriptions.Add(new SortDescription("Header", ListSortDirection.Ascending));
这会对初始列表进行排序,但如果我在其中一个树视图项目显示后更改标题,则该项目不会再次排序。标题文本发生变化,但列表中的项目位置保持不变。
我有什么遗漏吗?
我已尝试清除列表并重新填充它,这会起作用,但是它会在我的程序中引起一些问题,因为我有很多逻辑来确定何时更改所选项目以及列表中的树视图项目之一当我清除列表时,它会调用所有这些逻辑,然后当我在重建列表后以编程方式重新选择项目时,它会调用所有这些逻辑。
【问题讨论】: