DispatcherPriority Enumeráció
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Ismerteti azokat a prioritásokat, amelyeknél a műveletek meghívhatók a Dispatcher.
public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority =
Public Enum DispatcherPriority
- Öröklődés
Mezők
| Name | Érték | Description |
|---|---|---|
| Invalid | -1 | Az enumerálás értéke -1. Ez érvénytelen prioritás. |
| Inactive | 0 | Az enumerálás értéke 0. A műveletek nincsenek feldolgozva. |
| SystemIdle | 1 | Az enumerálás értéke 1. A rendszer tétlen állapotban dolgozza fel a műveleteket. |
| ApplicationIdle | 2 | Az enumerálás értéke 2. A műveletek akkor lesznek feldolgozva, amikor az alkalmazás tétlen. |
| ContextIdle | 3 | Az enumerálás értéke 3. A műveletek feldolgozása a háttérműveletek befejezése után történik. |
| Background | 4 | Az enumerálás értéke 4. A műveletek feldolgozása az összes többi nem tétlen művelet befejezése után történik. |
| Input | 5 | Az enumerálási érték 5. A műveletek feldolgozása a bemenettel azonos prioritással történik. |
| Loaded | 6 | Az enumerálás értéke 6. A műveletek akkor lesznek feldolgozva, ha az elrendezés és a renderelés befejeződött, de a bemeneti prioritású elemek kiszolgálása előtt. Ez különösen a betöltött esemény emelésekor használatos. |
| Render | 7 | Az enumerálás értéke 7. A feldolgozás a rendereléssel azonos prioritással történik. |
| DataBind | 8 | Az enumerálási érték 8. A műveletek feldolgozása ugyanolyan prioritással történik, mint az adatkötés. |
| Normal | 9 | Az enumerálás értéke 9. A műveletek feldolgozása normál prioritással történik. Ez a tipikus alkalmazásprioritás. |
| Send | 10 | Az enumerálás értéke 10. A műveletek feldolgozása más aszinkron műveletek előtt történik. Ez a legmagasabb prioritás. |
Példák
Az alábbi példa meghívja a metódust Dispatcher.BeginInvoke , és egy argumentummal átadja azt egy meghatalmazottnak. A prioritás a következőre Normalvan állítva: .
// 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)
Megjegyzések
A WPF jelenlegi verziójában nincs ApplicationIdle és ContextIdle megfelelő rendszerállapot vagy "tétlenség". Mindkettő továbbra is érvényes prioritás; egy prioritású ContextIdle művelet nagyobb prioritással SystemIdlerendelkezik, mint egy .
A Dispatcher művelet végrehajtását nem szabályozza, ha az meghaladja a processzor bizonyos százalékát. A folyamat szabályozásának egyik módja az időzítő használata.
Ha egy műveletet önállóanDispatcher.Invoke, prioritási prioritással Dispatcherad Send ki, a művelet áthalad az üzenetsoron, és azonnal végrehajtja.