2017-12-17 2 views
1

의 속성을 카운트하기 나는이 ICollectionView에ICollectionView에

private ICollectionView _snapshotList; 

    public ICollectionView SnapshotList { 
     get { return _snapshotList; } 
    } 

this.smapshotListModel.SnapshotItems 반환 ObservableCollection에

_snapshotList = CollectionViewSource.GetDefaultView(this.snapshotListModel.SnapshotItems); 
     _snapshotList.Filter = ErrorMsgFilter; 
     _snapshotList.CollectionChanged += OnCollectionChanged; 

그리고 나중에 collectionChanged 이벤트 메신저에서이있는 항목의 수를 얻으려고 노력의 ViewModel 생성자, 메신저하는 설정 컬렉션,

 void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { 
     this.ItemCount = _snapshotList.Count(); 
    } 

하지만 그 thro 날개 오류, Count method에 대한 정의가 없음을 나타냅니다.

답변

1

시도해보십시오.

_snapshotList.Cast<object>().Count(); 

ICollectionViewIEnumarable 구현하지만 IEnumerable<TSource> 같은 List<TSource>, HashSet<TSource> 등 그래서, ICollectionView는 제네릭 형식이없는 구현하지 않습니다 우리는 한 번 Count() 방법을 사용하려면 IEnumerable<object>에 캐스팅해야합니다.

+0

고마워요. 그래서 최대한 빨리 답장을 받으실 수 있습니다. (2 분 지연) 제발, 왜 제가 왜 그것을 물체에 던질 필요가 있는지 조금 설명해 주시겠습니까? –

관련 문제