我在wpf中,并且有一个通用列表:List。 现在我希望将它转换为通用的可观察集合:ObservableCollection。
我知道我可以迭代列表并将每个单独的项添加到Observable集合中。 但是,在我看来,必须有一种内置的方式来做到这一点。
答案 0 :(得分:33)
如果您只想从ObservableCollection
创建List
,那么您需要做的只是
ObservableCollection<MyType> obsCollection = new ObservableCollection<MyType>(myList);
答案 1 :(得分:2)
var _oc = new ObservableCollection<ObjectType>(_listObjects);
答案 2 :(得分:1)
您可以使用扩展方法
来完成public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> coll)
{
var c = new ObservableCollection<T>();
foreach (var e in coll) c.Add(e);
return c;
}
或者您可以使用此constructor元素将按照列表枚举器读取的顺序复制到ObservableCollection上。
ObservableCollection<YourObject> collection = new ObservableCollection<YourObject>(yourList);
答案 3 :(得分:1)
ObservableCollection具有IEnumerable<T>
ObservableCollection
ObservableCollection<yourType> observable =
new ObservableCollection<yourType>(yourListObject);