【发布时间】:2013-12-23 00:04:41
【问题描述】:
在我的程序中,我需要能够上下移动的TreeView 节点,基本上是改变顺序。我的TreeView 是特定数据模型的ObservableCollection。每个节点都有一个名为“Rank”的属性,这是我想要对集合进行排序的值。话虽如此,我提到了this question。从那个问题我发现了这个blog page。我正在尝试涉及List 的sort 函数的第二种方法。
这是我正在查看的示例:
List<Person> list = new List<Person>(people);
list.Sort();
请注意,每个节点的“Rank”值都处于正常工作状态并正确更改。我只需要找到一种方法来根据该属性重新排序集合并将其反映在视图中。
我的问题:在尝试实施上述解决方案时,我收到了 InvalidOperationException。我觉得我不明白如何告诉List 根据排名进行排序。
我的代码是什么样子的:
List<TreeModel> sortedTree = new List<TreeModel>(TreeCollection);
sortedTree.Sort();
我在这里缺少什么?如何根据 rank 属性对集合进行排序并在视图中反映这些变化?
谢谢。
*我相信我之前可能已经发布过这个问题,所以如果由于某种原因这个问题与我的旧问题太相似,我将删除旧问题。
【问题讨论】:
标签: c# wpf list sorting observablecollection