【发布时间】:2014-07-12 12:29:04
【问题描述】:
我有一个需要按日期排序的项目列表,所以我正在做的事情如下(我将ItemsControl绑定到Pushes:
public ObservableCollection<Push> Pushes
{
get { return Settings.PushCol; }
set { Settings.PushCol = value; OnPropertyChanged("Pushes"); }
}
Pushes = new ObservableCollection<Push>(
Settings.PushCol
.Where(push => push.Active == true)
.OrderByDescending(push => push.Created)
);
这里的问题是,如果我要添加到Pushes,我将不得不使用上面的代码来使用我的Pushes,这导致的问题是,如果我有一个大集合,它将冻结 UI,直到收藏已更新。
我正在尝试找到一种更好的方法来做到这一点,谁能告诉我这里的最佳做法是什么?
【问题讨论】:
-
在另一个线程中执行此操作。排序完成后调用
Dispatcher分配给 UI 线程中的pushes。
标签: c# sorting observablecollection windows-phone-8.1 win-universal-app