Как сортировать списки и комбинированные списки в WPF
http://www.kudzuworld.com/Blogs/Tech/20070815A.en.aspx
Поскольку WPF не предоставляет свойство "Порядок сортировки" для своих полей со списками, вам нужны две разные коллекции.
В приведенной выше ссылке комментатор опубликовал следующий метод, используя объект ListCollectionView для получения пользовательской сортировки. Это позволяет использовать одну коллекцию из вашего источника данных, добавляя дополнительный слой коллекций для сортировки:
// Using System.ComponentModel;
ListCollectionView view = new ListCollectionView (channel.Members);
view.SortDescriptions.Add(new SortDescription("lastName", ListSortDirection.Ascending);
view.SortDescriptions.Add(new SortDescription("firstName", ListSortDirection.Ascending);
view.CustomSort = new IComparerImplementation; //Do this if you want a custom sort;
view.Refresh();