在 WPF 应用程序中,异步任务执行对于在执行长时间运行的操作时维护响应式用户界面至关重要。通过进度报告和取消支持实现此目标的推荐方法是使用基于任务的异步模式 (TAP) 和 async/await 关键字。
要求:
解决方案:
使用.NET 4.5(或.NET 4.0 with Microsoft.Bcl.Async),TAP和 async/await 提供了一个方便且结构化的解决方案。这是一个示例:
private async void Start(object sender, RoutedEventArgs e) { try { await Task.Run(() => { int progress = 0; while (true) { System.Threading.Thread.Sleep(1); progress++; Logger.Info(progress); } }); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
优点:
其他资源:
以上是如何在WPF中实现带有进度报告和取消的后台任务执行?的详细内容。更多信息请关注PHP中文网其他相关文章!