Обратите внимание, что это не проверено, но не могли бы вы сделать что-то подобное?
ListCollectionView lcv = (ListCollectionView)CollectionViewSource.GetDefaultView(myDataGrid.ItemsSource);
IComparer mySort = lcv.CustomSort; // assumes you've already set it beforehand
... // stuff happens
lcv.CustomSort = mySort;
Я все еще изучаю WPF, но надеюсь, что это поможет ...
Матф.