DispatcherPriority Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menjelaskan prioritas di mana operasi dapat dipanggil dengan cara Dispatcher.
public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority =
Public Enum DispatcherPriority
- Warisan
Bidang
| Nama | Nilai | Deskripsi |
|---|---|---|
| Invalid | -1 | Nilai enumerasi adalah -1. Ini adalah prioritas yang tidak valid. |
| Inactive | 0 | Nilai enumerasi adalah 0. Operasi tidak diproses. |
| SystemIdle | 1 | Nilai enumerasi adalah 1. Operasi diproses ketika sistem diam. |
| ApplicationIdle | 2 | Nilai enumerasi adalah 2. Operasi diproses ketika aplikasi diam. |
| ContextIdle | 3 | Nilai enumerasi adalah 3. Operasi diproses setelah operasi latar belakang selesai. |
| Background | 4 | Nilai enumerasi adalah 4. Operasi diproses setelah semua operasi non-diam lainnya selesai. |
| Input | 5 | Nilai enumerasi adalah 5. Operasi diproses dengan prioritas yang sama dengan input. |
| Loaded | 6 | Nilai enumerasi adalah 6. Operasi diproses ketika tata letak dan render telah selesai tetapi tepat sebelum item pada prioritas input dilayankan. Secara khusus ini digunakan saat menaikkan peristiwa Dimuat. |
| Render | 7 | Nilai enumerasi adalah 7. Operasi yang diproses dengan prioritas yang sama dengan penyajian. |
| DataBind | 8 | Nilai enumerasi adalah 8. Operasi diproses dengan prioritas yang sama dengan pengikatan data. |
| Normal | 9 | Nilai enumerasi adalah 9. Operasi diproses pada prioritas normal. Ini adalah prioritas aplikasi umum. |
| Send | 10 | Nilai enumerasi adalah 10. Operasi diproses sebelum operasi asinkron lainnya. Ini adalah prioritas tertinggi. |
Contoh
Contoh berikut memanggil Dispatcher.BeginInvoke metode dan meneruskannya delegasi dengan satu argumen. Prioritas diatur ke Normal.
// Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(
System.Windows.Threading.DispatcherPriority.Normal,
new OneArgDelegate(UpdateUserInterface),
weather);
' Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, New OneArgDelegate(AddressOf UpdateUserInterface), weather)
Keterangan
Tidak ada status sistem tertentu atau "diam" yang sesuai dengan ApplicationIdle dan ContextIdle dalam versi WPF saat ini. Keduanya masih menjadi prioritas yang valid; operasi dengan prioritas ContextIdle memiliki prioritas yang lebih tinggi daripada operasi dengan prioritas SystemIdle.
Dispatcher tidak membatasi eksekusi operasi jika melebihi persentase tertentu dari CPU. Salah satu cara untuk membatasi proses adalah dengan menggunakan timer.
Jika operasi diposting menggunakan Dispatcher.Invoke sendiri Dispatcher dengan prioritas Send, operasi melewati antrean dan segera dijalankan.