在ListView中对组进行分组
本文关键字:ListView | 更新日期: 2023-09-27 18:22:01
我有一个项目集合,每个项目都在一些组中。我在WPF列表视图中显示集合,并希望按组分组,但这是不可能的,因为我有一个IEnumerable:-)。而且争吵不止一次。
有人知道我该怎么解决这个问题吗?
您可以将DataTemplate用于内部项,在内部数据模板中,可以使用另一个Listview来显示该组项。
最好使用TreeView和HierarchicalDataTemplate来显示数据结构中的分组级别。
我不知道你的数据结构到底是什么样子。如果你已经压平了数据,你可能需要改变这种数据结构
public class Item
{
public string Group { get; set; } // A prop you want the grouping on
public string AnotherItemProp { get; set; }
}
public IEnumerable<Item> Items // used as your list source somewhere
对此:
public class Group
{
public string AnotherGroupProp { get; set; } // grouping value from flattened
public IEnumerable<Item> Items { get; set; }
}
public class Item
{
public string AnotherItemProp { get; set; }
}
public IEnumerable<Group> Groups { get; set; } // Used by treeview