DispatcherPriority Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Popisuje priority, při kterých lze operace vyvolat prostřednictvím Dispatcher.
public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority =
Public Enum DispatcherPriority
- Dědičnost
Pole
| Name | Hodnota | Description |
|---|---|---|
| Invalid | -1 | Hodnota výčtu je -1. Toto je neplatná priorita. |
| Inactive | 0 | Hodnota výčtu je 0. Operace se nezpracovávají. |
| SystemIdle | 1 | Hodnota výčtu je 1. Operace se zpracovávají, když je systém nečinný. |
| ApplicationIdle | 2 | Hodnota výčtu je 2. Operace se zpracovávají, když je aplikace nečinná. |
| ContextIdle | 3 | Hodnota výčtu je 3. Operace se zpracovávají po dokončení operací na pozadí. |
| Background | 4 | Hodnota výčtu je 4. Operace se zpracovávají po dokončení všech ostatních nečinných operací. |
| Input | 5 | Hodnota výčtu je 5. Operace se zpracovávají se stejnou prioritou jako vstup. |
| Loaded | 6 | Hodnota výčtu je 6. Operace se zpracovávají při dokončení rozložení a vykreslování, ale těsně před obsluhou položek s prioritou vstupu. Konkrétně se používá při vyvolání načtené události. |
| Render | 7 | Hodnota výčtu je 7. Operace zpracovávané se stejnou prioritou jako vykreslování. |
| DataBind | 8 | Hodnota výčtu je 8. Operace se zpracovávají se stejnou prioritou jako datová vazba. |
| Normal | 9 | Hodnota výčtu je 9. Operace se zpracovávají v normální prioritě. Toto je typická priorita aplikace. |
| Send | 10 | Hodnota výčtu je 10. Operace se zpracovávají před jinými asynchronními operacemi. Toto je nejvyšší priorita. |
Příklady
Následující příklad volá metodu Dispatcher.BeginInvoke a předá ji delegátu s jedním argumentem. Priorita je nastavena na Normalhodnotu .
// 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)
Poznámky
V aktuální verzi WPF (Windows Presentation Foundation) neexistuje žádný konkrétní stav systému nebo nečinnost odpovídající ApplicationIdle a ContextIdle. Obě jsou stále platnými prioritami; operace s prioritou ContextIdle má vyšší prioritu než operace s prioritou SystemIdle.
Neomezuje Dispatcher provádění operace, pokud překročí určité procento procesoru. Jedním ze způsobů, jak proces omezovat, je použít časovač.
Pokud je operace publikována samostatně s Dispatcher.InvokeDispatcher prioritou Send, operace obchází frontu a je okamžitě spuštěna.