我需要从数据库中加载一些数据,但是因为我需要加载所有这些数据,所以我的 Windows 屏幕(Windows 窗体)冻结了,所以我尝试使用以下代码:
var data = Task.Factory.StartNew(() =>
{
repository = ObjectFactory.GetInstance<ILibriRepository>();
librat = repository.GetAll().ToList();//
});
data.ContinueWith((a) =>
{
librat.ForEach(c => lvLista.Items.Add(new LibraListViewItem(c)));
}, CancellationToken.None, TaskContinuationOptions.None, uiScheduler);
但即使这样,当数据加载并需要在 ListView 中呈现时,屏幕也会冻结。