Laksanakan Tugasan Latar Belakang dalam Aplikasi WPF
Dalam aplikasi WPF, selalunya perlu melaksanakan tugasan di latar belakang untuk mengelakkan pembekuan antara muka pengguna ( UI). Untuk melakukan ini, pembangun memerlukan mekanisme yang memenuhi kriteria berikut:
Pendekatan Disyorkan: API berasaskan tugasan dan Async/Await
Dengan keluaran .NET 4.5 (atau .NET 4.0 dengan perpustakaan Microsoft.Bcl.Async), pendekatan yang disyorkan untuk tugasan latar belakang ialah menggunakan Tugasan API berasaskan dan async/menunggu. Teknik ini menawarkan kelebihan berikut:
Contoh Pelaksanaan
Kod berikut menunjukkan cara untuk melaksanakan tugas latar belakang menggunakan API berasaskan Tugasan dan async/menunggu:
private async void Start(object sender, RoutedEventArgs e) { try { await Task.Run(() => { int progress = 0; for (; ; ) { System.Threading.Thread.Sleep(1); progress++; Logger.Info(progress); } }); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Kod ini menghasilkan tugas baharu selari dengan urutan UI, membolehkan UI kekal responsif semasa tugas latar belakang berlangsung. Ia juga termasuk pengendalian pengecualian untuk memaparkan mesej ralat jika pengecualian berlaku semasa pelaksanaan tugas.
Sumber Tambahan
Untuk mendapatkan maklumat lanjut tentang melaksanakan tugas latar belakang dalam WPF dengan pelaporan kemajuan dan sokongan pembatalan, pertimbangkan rujukan berikut:
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Tugas Latar Belakang dalam Aplikasi WPF Tanpa Membekukan UI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!