我正在使用任务在单独的线程上获取数据,以便用户可以继续使用应用程序。我发现的问题是我的数据到我的网格的实际绑定也需要几秒钟。如何将我的数据绑定到与 FetchData() 调用相同的线程上?
Task<List<SomeData>> getData = new Task<List<SomeData>>(() =>
{
List<SomeData> myData = FetchData(); // Expensive!
return myData;
});
getData.Start();
Task processData = getData.ContinueWith(data =>
{
grid.DataSource = data; // Takes a few second so now the UI thread is disrupted
}, TaskScheduler.FromCurrentSynchronizationContext()); // UI thread :(