DispatcherPriority Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Beschrijft de prioriteiten waarop bewerkingen kunnen worden aangeroepen via de Dispatcher.
public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority =
Public Enum DispatcherPriority
- Overname
Velden
| Name | Waarde | Description |
|---|---|---|
| Invalid | -1 | De opsommingswaarde is -1. Dit is een ongeldige prioriteit. |
| Inactive | 0 | De opsommingswaarde is 0. Bewerkingen worden niet verwerkt. |
| SystemIdle | 1 | De opsommingswaarde is 1. Bewerkingen worden verwerkt wanneer het systeem inactief is. |
| ApplicationIdle | 2 | De opsommingswaarde is 2. Bewerkingen worden verwerkt wanneer de toepassing niet actief is. |
| ContextIdle | 3 | De opsommingswaarde is 3. Bewerkingen worden verwerkt nadat achtergrondbewerkingen zijn voltooid. |
| Background | 4 | De opsommingswaarde is 4. Bewerkingen worden verwerkt nadat alle andere niet-inactieve bewerkingen zijn voltooid. |
| Input | 5 | De opsommingswaarde is 5. Bewerkingen worden verwerkt met dezelfde prioriteit als invoer. |
| Loaded | 6 | De opsommingswaarde is 6. Bewerkingen worden verwerkt wanneer de indeling en weergave is voltooid, maar net voordat items met invoerprioriteit worden onderhouden. Dit wordt specifiek gebruikt bij het verhogen van de geladen gebeurtenis. |
| Render | 7 | De opsommingswaarde is 7. Bewerkingen die op dezelfde prioriteit zijn verwerkt als rendering. |
| DataBind | 8 | De opsommingswaarde is 8. Bewerkingen worden verwerkt met dezelfde prioriteit als gegevensbinding. |
| Normal | 9 | De opsommingswaarde is 9. Bewerkingen worden op normale prioriteit verwerkt. Dit is de typische toepassingsprioriteit. |
| Send | 10 | De opsommingswaarde is 10. Bewerkingen worden verwerkt vóór andere asynchrone bewerkingen. Dit is de hoogste prioriteit. |
Voorbeelden
In het volgende voorbeeld wordt de Dispatcher.BeginInvoke methode aangeroepen en doorgegeven aan een gemachtigde met één argument. De prioriteit is ingesteld op 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)
Opmerkingen
Er is geen specifieke systeemstatus of niet-actieve status die overeenkomt met ApplicationIdle en ContextIdle in de huidige versie van WPF. Beide zijn nog steeds geldige prioriteiten; een bewerking met een prioriteit van ContextIdle een hogere prioriteit dan een bewerking met een prioriteit van SystemIdle.
De Dispatcher uitvoering van een bewerking wordt niet beperkt als deze een bepaald percentage van de CPU overschrijdt. Een manier om een proces te beperken, is door een timer te gebruiken.
Als een bewerking zelfstandig Dispatcher.Invoke wordt gepost Dispatcher met een prioriteit vanSend, wordt de wachtrij door de bewerking omzeild en onmiddellijk uitgevoerd.