【发布时间】:2012-02-03 17:01:31
【问题描述】:
我有一个项目集合,每个项目都在一些组中。 我在 WPF Listview 中显示集合并希望按组进行分组,但这是不可能的,因为我有一个 IEnumerable :-)。而且一行必须不止出现一次。
有人知道我该如何解决这个问题吗?
【问题讨论】:
我有一个项目集合,每个项目都在一些组中。 我在 WPF Listview 中显示集合并希望按组进行分组,但这是不可能的,因为我有一个 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
【讨论】: