ObservableCollection.Insert 速度很慢
被吃了的狗 2012-10-09 04:09:34 如题,有没有什么办法可以解决?
加的数据越多,就会越慢。
//定义的数据类型
public class RowData : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPorpertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
private ObservableCollection<string> dataArray;
public ObservableCollection<string> RowDataArray
{
get { return dataArray; }
set
{
if (dataArray != value)
{
dataArray = value;
OnPorpertyChanged("RowDataArray");
}
}
}
private string rowTitle;
public string RowHeader
{
get { return rowTitle; }
set
{
if (value != rowTitle)
{
rowTitle = value;
OnPorpertyChanged("RowHeader");
}
}
}
private ObservableCollection<string> foregroundArray;
public ObservableCollection<string> ForegroundArray
{
get { return foregroundArray; }
set
{
if (foregroundArray != value)
{
foregroundArray = value;
OnPorpertyChanged("ForegroundArray");
}
}
}
private ObservableCollection<string> backgroundArray;
public ObservableCollection<string> BackgroundArray
{
get { return backgroundArray; }
set
{
if (backgroundArray != value)
{
backgroundArray = value;
OnPorpertyChanged("BackgroundArray");
}
}
}
}
//添加数据
foreach (RowData rowdata in Variablemodel.CollectionData)
{
rowdata.RowDataArray.Insert(nColIndex, "");
rowdata.BackgroundArray.Insert(nColIndex, null);
rowdata.ForegroundArray.Insert(nColIndex, "Black");
}
第一次: 0.734s
第二次:1.125s
第三次: 2.062s
。。。