[c#] ICollectionView 또는 ObservableCollection에 바인딩해야합니까?



Answers

ObservableCollection<T>INotifyCollectionChanged 구현하며 컬렉션의 항목이 변경되면 UI에 알립니다.

ICollectionView 는 기본 컬렉션에서 구현하는 경우 INotifyCollectionChanged 이벤트를 전파하는 것 외에도 컬렉션을 필터링, 정렬 또는 그룹화하는 기능을 제공합니다.

두 유형 모두 MVVM에 바인딩하는 한 MVVM에서 잘 작동합니다. 정렬, 필터링 또는 그룹화가 필요할 때 ICollectionView 사용하십시오. ObservableCollection<T> 직접 사용하십시오.

Question

DataGridDataGrid 에 바인딩해야합니까?

ICollectionView = CollectionViewSource.GetDefaultView(collection)

또는

ObservableCollection<T> collection; ???

MVVM의 모범 사례는 무엇이며 그 이유는 무엇입니까?




MVVM 자체로는 아무 것도 할 필요가 없다고 생각합니다. ICollectionView 는 그룹화 등의 추가 기능을 제공합니다. IColectionView 를 사용하려면 ObservableCollection




Related