2009-08-07 34 views
0

好的,我有綁定到一個List<IComparableObject>ItemsControl一個,每個第二對List對象改變,所以我不得不訴諸它們,所以每個第二I調用List.Sort()方法。檢查在VS2008的監視面板,我可以告知List得到排序,但ItemsControl沒有。我該如何做這項工作?WPF的ItemsControl的datacontext排序

謝謝!

回答

5

你要排序的CollectionView:

List<MyObject> myInternalList = new List<MyObject>(); 
... 
ICollectionView colView = CollectionViewSource.GetDefaultView(myInternalList); 
colView.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending)); 

你必須得到從列表中的默認視圖。 在這種情況下,您不必對列表進行排序,因爲視圖將始終被排序。您可以添加儘可能多的SortDescriptions。

HTH

+0

謝謝,作品像一個魅力。我在這裏有另一個問題http://stackoverflow.com/questions/1250953/sorting-in-window-datacontext-in-wpf也許你也可以幫助這個。謝謝!! – Carlo 2009-08-09 08:27:39

+0

@Roel我們可以使用這種方法應用文化特定的排序http://stackoverflow.com/questions/31332882/culture-specific-sorting-on-icollectionview – 2015-07-10 06:35:39