如何铸造列表<;T>;到ObservableCollection<;T>;在wpf中

本文关键字:gt lt wpf ObservableCollection 何铸造 列表 | 更新日期: 2023-09-27 18:26:38

我在wpf中,有一个通用列表:list。现在我想把它转换成一个通用的可观察集合:ObservableCollection。

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

如何铸造列表<;T>;到ObservableCollection<;T>;在wpf中

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

ObservableCollection<MyType> obsCollection = new ObservableCollection<MyType>(myList);

ObservableCollection具有IEnumerable<T> ObservableCollection的构造函数

ObservableCollection<yourType> observable = 
        new ObservableCollection<yourType>(yourListObject);
var _oc = new ObservableCollection<ObjectType>(_listObjects);

您可以使用扩展方法

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;
}

或者你可以使用这个构造函数。元素被复制到ObservableCollection上的顺序与列表的枚举器读取它们的顺序相同。

ObservableCollection<YourObject> collection = new ObservableCollection<YourObject>(yourList);