WPF アプリケーションでは、長時間実行操作を実行しながら応答性の高いユーザー インターフェイスを維持するために、非同期タスクの実行が不可欠です。 。進捗レポートとキャンセルのサポートでこれを実現するための推奨アプローチは、タスクベースの非同期パターン (TAP) と async/await キーワードを使用することです。
要件:
解決策:
.NET 4.5 (または Microsoft.Bcl.Async を備えた .NET 4.0) では、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 中国語 Web サイトの他の関連記事を参照してください。