0

我有一个ObservableCollection带有多个对象的MyParent对象,而这些对象又拥有自己ObservableCollectionMyChild对象。现在我想在一个网格视图中显示所有 MyChild对象,这自然需要一个扁平化的集合。

CompositeCollection看起来很有希望。

问:是否可以将任意数量的集合包装在一个 中CompositeCollection

如果没有,有替代方案吗?

4

1 回答 1

3

没有必要使用 anyCompositeCollection来做你想做的事。您可以在简单查询中使用方法MyChild从所有对象中提取所有对象。试试这个:MyParentEnumerable.SelectManyLinQ

using System.Linq;

...

var children = YourParentCollection.SelectMany(i => i.MyChild).ToList();

如果您不熟悉这些Enumerable扩展方法,您绝对应该研究它们。

于 2014-09-04T13:45:50.833 回答