gpt4 book ai didi

WPF 保持 TreeView 列表排序

转载 作者:行者123 更新时间:2023-12-03 16:45:26 25 4
gpt4 key购买 nike

我在 TreeView 上有一个节点,我手动填充该节点并希望保持排序。通过用户交互,TreeViewItem 上的标题可能会更改,它们应该移动到列表中的适当位置。

我遍历一个 foreach,创建多个 TreeViewItem 并将它们添加到父节点。需要对所有 child 进行排序。然后我添加一个 SortDescription,如下所示。

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

这会对初始列表进行排序,但是如果我在显示树 View 项目之一后更改其标题,则该项目不会再次排序。标题文本更改,但列表中的项目位置保持不变。

有什么我想念的吗?

我已经尝试清除列表并重新填充它,这会起作用,但是它会导致我的程序中出现一些问题,因为我有很多逻辑来说明何时更改所选项目,并且因为我是列表中的树 View 项目之一选择清除它会在我清除列表时调用所有这些逻辑,然后在重建列表后以编程方式重新选择项目时再次调用。

最佳答案

项目集合必须在其属性发生任何更改时刷新

在标题编辑后尝试以下代码....

  tviParent.Items.Refresh();

如果上面的代码不起作用,那么在每次编辑后尝试下面的代码......
  tviParent.Items.SortDescriptions.Clear()
tviParent.Items.SortDescriptions.Add(new SortDescription("Header", ListSortDirection.Ascending));

关于WPF 保持 TreeView 列表排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6943559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com