【发布时间】:2016-10-25 08:25:14
【问题描述】:
我有一个基于 Observable 集合的类。我正在尝试使用方法克隆从项目列表中设置 Observablecollection,如下所示:
public class MyObservableCollection : ObservableCollection<Record>
{
public void Clone(List<Record> originalEnityList)
{
ObservableCollection<Record> cloned = new ObservableCollection<Record>(originalEnityList);
}
}
我想做的是将克隆的集合复制到基本的 ObservableCollection 中,例如:
this= new ObservableCollection<Record>(originalEnityList);
or
this=cloned;
我该怎么做?
我尝试了以下方法但没有任何进展:
- ObservableCollection 我的 = 这个; mine=cloned;(在设置 mine 集合时,基本集合保持为空)。
- 我尝试在课堂外执行此操作,但也没有运气,例如
MyObservableCollection coll = new ObservableCollection<Record>(originalEnityList);但我相信 MyObervableCollection 缺少 observablecollection 具有的新构造函数。
PS:我曾尝试使用 foreach 和 for 来填充集合,但因为我的集合非常大,所以需要太多时间。
我很确定我在这里遗漏了一些非常简单的东西。
【问题讨论】:
-
“但我相信 MyObervableCollection 缺少 observablecollection 拥有的新构造函数”。那你为什么不加一个呢?
-
在这种情况下,我必须从 observable 集合中实现新的构造函数,例如: public ObservableCollection(List
list);但接下来的问题是我如何才能将列表像 public void Clone(List originalEnityList) { ObservableCollection cloned = new ObservableCollection (originalEnityList); //这个克隆的对象应该被转换或克隆到基础对象 }
标签: c# wpf observablecollection