有没有办法在不迭代List并将项添加到ObservableCollection的情况下执行此操作?
不,没有办法直接将列表转换为可观察的集合.您必须将每个项目添加到集合中.但是,下面是一个快捷方式,允许框架枚举值并为您添加它们.
Dim list as new List(of string) ...some stuff to fill the list... Dim observable as new ObservableCollection(of string)(list)
我迟到但我想分享这个有趣的部分,如果你需要一个循环,将列表转换为ObservableCollection:
public static ObservableCollectionToObservableCollection (this IEnumerable coll) { var c = new ObservableCollection (); foreach (var e in coll) c.Add(e); return c; }
您可以将集合传递给ObservableCollection构造函数:
ListmyProds = ...... ObservableCollection oc = new ObservableCollection (myProds);
现在你必须将这些翻译成VB.NET :)