示例
我有
ObservableCollection<Employee> // 1
ObservableCollection<Boss>// 2
ObservableCollection<Department> //3
ObservableCollection<T> // main >>>I want 1, 2, 3 ObservableCollection to main ObservableCollection
怎么办?
edited1:我想将它们添加为列表。不是每个项目。
编辑2:我必须在wpf应用程序上显示3个字段列表。第二个列表可以添加/删除列表中的项目。
**如果不清楚,请告诉我。
答案 0 :(得分:2)
由于您要做的是将一个集合添加到集合中,但这些集合类型不兼容,我试试这个
ObservableCollection<Employee> _employees = ...
ObservableCollection<Boss> _bosses = ...
ObservableCollection<Department> _departments = ...
ObservableCollection<IList> _collections = ...
_collections.Add(_employees);
_collections.Add(_bosses);
_collections.Add(_departments);
请注意_collections
集合的通用参数为IList
。 ObservableCollection<T>
实现IList
,因此可以分配给该类型的事物,即使对于集合中的不同T
也是如此。
答案 1 :(得分:0)
Observable Collection不支持AddRange
功能,您可以将整个列表添加到现有列表中。
顺便说一下,如果您的所有可观察集合都是T类型,那么您可以使用foreach
来迭代并执行adding
,如下所示:
var observableCollection1 = new ObservableCollection<string>();
var observableCollection = new ObservableCollection<string>();
foreach (var element in observableCollection1)
{
observableCollection.Add(element);
}
但是,根据我的理解,您尝试做的是尝试将observable collection of type department
添加到different type T
,除非您尝试将其添加到{{1},否则这是不可能的}}。警告:注意,您可能需要在之后进行装箱/取消装箱。
<强> observable collection of simply, objects
强>
Code Snippet: