WPF项控制数据上下文排序

WPF项控制数据上下文排序,wpf,data-binding,sorting,itemscontrol,Wpf,Data Binding,Sorting,Itemscontrol,好的,我有一个ItemsControl绑定到一个列表,每秒钟列表对象都会改变,所以我必须使用它们,所以每秒钟我调用列表.Sort()方法。检查VS2008中的Watch面板,我可以告诉您列表已排序,但项控件未排序。我怎样才能做到这一点 谢谢 您必须对CollectionView进行排序: List<MyObject> myInternalList = new List<MyObject>(); ... ICollectionView colView = Collec

好的,我有一个
ItemsControl
绑定到一个
列表
,每秒钟
列表
对象都会改变,所以我必须使用它们,所以每秒钟我调用
列表.Sort()
方法。检查VS2008中的Watch面板,我可以告诉您
列表
已排序,但
项控件
未排序。我怎样才能做到这一点


谢谢

您必须对CollectionView进行排序:

 List<MyObject> myInternalList = new List<MyObject>();
 ...
 ICollectionView colView = CollectionViewSource.GetDefaultView(myInternalList);
 colView.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
List myInternalList=new List();
...
ICollectionView colView=CollectionViewSource.GetDefaultView(myInternalList);
添加(新的SortDescription(“Name”,ListSortDirection.升序));
您必须从列表中获取默认视图。 在这种情况下,您不必对列表进行排序,因为视图将始终进行排序。您可以添加任意数量的SortDescription


HTH

您必须对CollectionView进行排序:

 List<MyObject> myInternalList = new List<MyObject>();
 ...
 ICollectionView colView = CollectionViewSource.GetDefaultView(myInternalList);
 colView.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
List myInternalList=new List();
...
ICollectionView colView=CollectionViewSource.GetDefaultView(myInternalList);
添加(新的SortDescription(“Name”,ListSortDirection.升序));
您必须从列表中获取默认视图。 在这种情况下,您不必对列表进行排序,因为视图将始终进行排序。您可以添加任意数量的SortDescription


HTH

谢谢,效果很好。我还有一个问题,也许你也能帮我解决这个问题。谢谢@Roel我们可以用这种方法应用特定文化的排序吗?谢谢,工作起来很有魅力。我还有一个问题,也许你也能帮我解决这个问题。谢谢@Roel我们可以用这种方法应用特定于文化的排序吗