我正在尝试在后台执行一项操作,而不冻结 UI。
当然,我可以为此使用 BackgroundWorker。
但是,我只想使用 Task API 来完成。
我试过:
async void OnTestLoaded(object sender, RoutedEventArgs e)
{
await LongOperation();
}
// It freezes the UI
和
async void OnTestLoaded(object sender, RoutedEventArgs e)
{
var task = Task.Run(()=> LongOperation());
task.Wait();
}
// It freezes the UI
那么我应该回到BackgroundWorker 吗?或者是否有仅使用任务的解决方案?