我有一个需要按日期排序的项目列表,所以我正在执行以下操作(我将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”,这会导致一个问题,即如果我有一个大的集合,它将冻结用户界面,直到集合被更新。
我试图找到更好的方法来做这个,能否有人给我建议,什么是最佳实践?