views:

243

answers:

1

I'm trying to use a custom sort with a ListView, as described in this blog entry.

I'm doing

ListCollectionView view = (ListCollectionView)CollectionViewSource.GetDefaultView(TheList.ItemsSource);

as recommended there and in several other places, but for some reason I'm getting "Unable to cast object of type 'MS.Internal.Data.EnumerableCollectionView' to type 'System.Windows.Data.ListCollectionView'." (TheList is of type ListView).

What could be causing this?

+1  A: 

Looks like the underlying type of the source collection - i.e. TheList.ItemsSource is not a List but perhaps IEnumerable. Here is an article with more info.

Quick solution - use List<Whatever> as ItemsSource for TheList.

Igor Zevaka
I was using the result of a Linq query - a .ToList() fixed it immediately. I had no idea the underlying type of the ItemsSource mattered. Thanks!
JustABill