DispatcherPriority Enumeration

Describes the priorities at which operations can be invoked by way of the Dispatcher.

Namespace: System.Windows.Threading
Assembly: WindowsBase (in windowsbase.dll)

public enum DispatcherPriority
public enum DispatcherPriority
public enum DispatcherPriority
 This managed class is not typically used in XAML. 

 Member nameDescription
ApplicationIdleThe enumeration value is 2. Operations are processed when the application is idle.  
BackgroundThe enumeration value is 4. Operations are processed after all other non-idle operations are completed. 
ContextIdleThe enumeration value is 3. Operations are processed after background operations have completed. 
DataBindThe enumeration value is 8. Operations are processed at the same priority as data binding. 
InactiveThe enumeration value is 0. Operations are not processed. 
InputThe enumeration value is 5. Operations are processed at the same priority as input. 
InvalidThe enumeration value is -1. This is an invalid priority. 
LoadedThe enumeration value is 6. Operations are processed when layout and render has finished but just before items at input priority are serviced. Specifically this is used when raising the Loaded event. 
NormalThe enumeration value is 9. Operations are processed at normal priority. This is the typical application priority. 
RenderThe enumeration value is 7. Operations processed at the same priority as rendering. 
SendThe enumeration value is 10. Operations are processed before other asynchronous operations. This is the highest priority.  
SystemIdleThe enumeration value is 1. Operations are processed when the system is idle. 

There is no specific system state or "idleness" corresponding to ApplicationIdle and ContextIdle in the current version of WPF. Both are still valid priorities; therefore, an operation with a priority of ContextIdle has a higher priority than an operation with a priority of SystemIdle.

The Dispatcher does not throttle the execution of an operation if it exceeds a certain percentage of the CPU. One way to throttle a process it to use a timer.

If an operation is posted using Invoke on its own Dispatcher at a priority of Send, the operation bypasses the queue and is immediately executed.

The following example is a call to BeginInvoke that passes a delegate which accepts an argument. The priority is set to Normal.

// Schedule the update function in the UI thread.
    new OneArgDelegate(UpdateUserInterface), 

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0