所以我一直在研究在列标题点击上排序网格视图的想法。虽然收集很小,但是当收集量增加到大约100万个项目时,排序可以很好地和快速地进行,排序可能需要相当长的时间。当在UI线程上执行排序时,应用程序会锁定。我需要在执行此排序时保持应用程序处于活动状态。我试过在一个单独的UI线程上运行它,但无效并使用异步调用运行它,应用程序调度程序仍然没有乐趣。请使用下面的代码说明排序逻辑,其中sortBy是排序的绑定路径。
private void Sort(string sortBy, ListSortDirection direction, ListView myListView, CollectionView myCollectionView)
{
using(myCollectionView.DeferRefresh())
{
myCollectionView.SortDescription.Clear();
myCollectionView.SortDescription.Add(new SortDescription(sortBy, direction);
}
myListView.ScrollIntoView(myListView.SelectedItem);
}