title: What are the differences between CollectionViewSource, ICollectionView, ListCollectionView, IList and BindingListCollectionView and their use cases?
body: <p>What are the differences between <code>CollectionViewSource</code>, <code>ICollectionView</code>, <code>ListCollectionView</code>, <code>IList</code> and <code>BindingListCollectionView</code>?<br />
  When and where to use all these collections?</p>
  <p>I know the main use of <code>CollectionViewSource</code>, but I'm not clear with when to use these, because in XAML I use <code>CollectionViewSource</code> for grouping, sorting, etc. and when I want it in code-behind I use <code>ListCollectionView</code>.</p>
  <p>Could you explain the exact differences and the use case(s) of each type of collection?</p>