我在 wpf 中,并且有一个通用列表:List。现在我希望将其转换为通用的可观察集合:ObservableCollection。
我知道我可以遍历列表并将每个单独的项目添加到 Observable 集合中。但是,在我看来,必须有一种内置的方法来做到这一点。
如果您只想ObservableCollection
从 a创建一个List
,那么您需要做的就是
ObservableCollection<MyType> obsCollection = new ObservableCollection<MyType>(myList);
ObservableCollection 具有 ObservableCollection 的构造IEnumerable<T>
函数
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);