为什么在延迟刷新模式下修改源集合会抛出异常

时间:2012-01-11 20:14:17

标签: wpf observablecollection collectionview

  

可能重复:
  CollectionView.DeferRefresh() throws exception

我不明白:

我有一个ObservableCollection,它作为ListCollectionView的源集合。

当我在ListCollectionView的DeferRefresh范围内修改ObservableCollection(清除并添加新项)时,会抛出异常。

    var observableCollection = new ObservableCollection<string>();
    var collectionView = new ListCollectionView(observableCollection);

    var items = new List<string> { "1", "2", "3", .. "999" };

    using (collectionView.DeferRefresh())
    {
      observableCollection.Clear();

      foreach (string item in items)
      {
        observableCollection.Add(item);
      }
    }

抛出 System.InvalidOperationException:在延迟刷新时无法更改或检查CollectionView的内容或当前位置。

在完成所有添加操作(可能是100-1000)之前不刷新CollectionView会很不错。

我怎样才能实现这个目标?

0 个答案:

没有答案