【问题标题】:CollectionView not populated?CollectionView 未填充?
【发布时间】:2014-12-23 01:58:55
【问题描述】:

我已经使用过 ICollectionView 几次,从来没有遇到过任何问题......但我无法让这个工作。

在我的构造函数中,我执行以下操作:

    _viewModels = new ObservableCollection<MyViewModel>();

    var icv = CollectionViewSource.GetDefaultView(_viewModels);
    MyCollectionView = icv; 

我认为不同的一件事是我用单独的调用填充了我的 _viewModels。因此,例如在应用程序加载后使用按钮。即使我当时调用了 MyCollectionView.Refresh() 并且 _viewModels 中有对象,MyCollectionView 仍然是空的。

这应该有效吗?如果是这样,我错过了什么,我可以寻找什么?

【问题讨论】:

  • 我已经使用了 ICollectionView 几次,从来没有遇到过任何问题...然后按照您之前的工作示例进行操作。
  • 我不确定 .net 4 但 int 4.5 iv'e 得出的结论是 Refresh() 什么都不做。我只是在 getter 中重新创建它。
  • @Sheridan 是的,我就是这么做的。
  • @eranotzap 你正中了它的头。刷新确实似乎没有做任何事情 - 再次抓取视图似乎有效。我想知道它是否已被 ICollectionViewLiveShaping 弃用?文档并没有说它已被弃用。将此作为答案发布,我会标记它。

标签: wpf icollectionview


【解决方案1】:

似乎 Refresh 在 .Net 4.5 中没有任何作用,我还没有在 4 上尝试过,所以我不能确定它什么时候停止工作,如果有的话。 我喜欢做的是:

     public ICollectionView MyCollectionView
     {
        get 
        {              
            return new CollectionView(SourceCollection); 
        }
     }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2018-07-08
    • 2016-07-18
    • 1970-01-01
    • 2017-09-05
    相关资源
    最近更新 更多