首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取ICollectionView的Count属性

获取ICollectionView的Count属性
EN

Stack Overflow用户
提问于 2017-12-17 18:28:44
回答 1查看 3.7K关注 0票数 10

我有ICollectionView

代码语言:javascript
复制
private ICollectionView _snapshotList;

    public ICollectionView SnapshotList {
        get { return _snapshotList; }
    }

在ViewModel构造函数中的哪个im设置,其中this.smapshotListModel.SnapshotItems返回ObservableCollection

代码语言:javascript
复制
_snapshotList = CollectionViewSource.GetDefaultView(this.snapshotListModel.SnapshotItems);
        _snapshotList.Filter = ErrorMsgFilter;
        _snapshotList.CollectionChanged += OnCollectionChanged;

稍后在collectionChanged事件中,我尝试获取此集合中的项的计数,

代码语言:javascript
复制
        void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) {
        this.ItemCount = _snapshotList.Count();
    }

但它抛出的错误是,没有Count方法的定义。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-17 18:38:11

试着这样做;

代码语言:javascript
复制
_snapshotList.Cast<object>().Count();

ICollectionView实现了IEnumarable,但它没有像List<TSource>HashSet<TSource>等那样实现IEnumerable<TSource>。因此,ICollectionView没有泛型类型,我们必须将其强制转换为IEnumerable<object>一次才能启用Count()方法。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47854184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档