Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 对绑定到ItemSource的observablecollection进行排序_Wpf_Sorting_Observablecollection_Itemscontrol - Fatal编程技术网

Wpf 对绑定到ItemSource的observablecollection进行排序

Wpf 对绑定到ItemSource的observablecollection进行排序,wpf,sorting,observablecollection,itemscontrol,Wpf,Sorting,Observablecollection,Itemscontrol,我正在应用程序中使用ItemsControl,它的ItemSource是一个可观察的集合 <ItemsControl ItemsSource="{Binding ASPTrunks}" ItemTemplate="{StaticResource ASPTrunkTemplate}" Style="{StaticResource ItemControlStyle}"> ASPTrunks具有名

我正在应用程序中使用ItemsControl,它的ItemSource是一个可观察的集合

<ItemsControl ItemsSource="{Binding ASPTrunks}"
                      ItemTemplate="{StaticResource ASPTrunkTemplate}"
                      Style="{StaticResource ItemControlStyle}">


ASPTrunks具有名为SpTypeName的属性。我希望我的ItemsControl中的控件按SpTypeName的字母顺序排序。最好的方法是什么。我需要使用CollectionViewSource吗?还是按编程方式对集合排序比较好?如果我需要使用CollectionViewSource,我将按照此方法使用它。

任何一种方法都可以,这将取决于排序是否是视图特定的,并且您是否希望在各种视图中重用集合,那么在视图中进行排序是有意义的

您好,我刚刚尝试使用LINQ OrderBy查询对ASPTrunks集合进行排序。但它不起作用。那么如何在C#中进行排序呢。除了LINQ orderby或sort之外,还有其他选项吗?下面的方法性能更好吗?你能为你的排序添加不起作用的代码吗?是的,一种方法是将CollectionView添加到视图模型中,然后从视图绑定到该模型。有关有用的教程,请参见。另外,不要忘记WPF为用作绑定源的每个集合都创建了一个默认集合视图,因此性能上没有真正的差异。有关更多详细信息,请参阅。