我有一个 2 级 TreeView,其中填充了一个集合项目,每个项目都有另一个项目集合。
class A
{
public List<B> collection;
}
List<A> treeViewCollection;
在集合内的集合的情况下,我使用 ListCollectionView 使用转换器对这些项目进行排序,如下所示:
如何在 Xaml 中使用 SortDescriptions 对 TreeView 项目进行排序?
我发现的问题是 ListCollectionView 在编辑项目时不会使用它们,因此我创建了自己的 ListCollectionView 类以附加到项目属性通知。我不知道的是,当我检测到某个项目已更改为使用 ListCollectionView 时该怎么办。如果我在 ListCollectionView 上调用 Refresh(),我会在 TreeView 上丢失选择,我在某处看到过使用 Replace 操作提升 CollectionChangedNotification(这对我来说是个好主意),但它对 TreeView 没有影响。
关于如何在不丢失所有选择和扩展项目的情况下更新 TreeView 排序的任何想法?
谢谢。