我有ObservableCollection
个MyParent
个对象,而这些对象又有ObservableCollection
个MyChild
个对象。现在我想在网格视图中显示所有 MyChild
对象,这自然会要求展平的集合。
CompositeCollection看起来很有希望。
问:是否可以在CompositeCollection
中包含任意数量的集合?
如果没有,是否有替代方案?
答案 0 :(得分:3)
无需使用任何CompositeCollection
来执行您想要的操作。您可以使用简单MyChild
查询中的Enumerable.SelectMany
Method从所有MyParent
个对象中提取所有LinQ
个对象。试试这个:
using System.Linq;
...
var children = YourParentCollection.SelectMany(i => i.MyChild).ToList();
如果您不熟悉这些Enumerable
扩展方法,那么您一定要对它们进行调查。