如何将List 转换为wpf中的ObservableCollection ?

我在wpf,并有一个通用列表:列表。 现在我希望将它转换为通用的可观察集合:ObservableCollection。

我知道我可以迭代列表并将每个单独的项添加到Observable集合中。 但是,在我看来,必须有一种内置的方式来做到这一点。

如果您只想从List创建一个ObservableCollection ,那么您需要做的就是

 ObservableCollection obsCollection = new ObservableCollection(myList); 
 var _oc = new ObservableCollection(_listObjects); 

ObservableCollection具有IEnumerable ObservableCollection的 Conttructor

 ObservableCollection observable = new ObservableCollection(yourListObject); 

你可以使用扩展方法来做到这一点

 public static ObservableCollection ToObservableCollection(this IEnumerable coll) { var c = new ObservableCollection(); foreach (var e in coll) c.Add(e); return c; } 

或者您可以使用此构造函数将元素按照列表的枚举器读取的顺序复制到ObservableCollection中。

 ObservableCollection collection = new ObservableCollection(yourList);