DispatcherPriority 列挙型

定義

Dispatcherを使用して操作を呼び出すことができる優先順位について説明します。

public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority = 
Public Enum DispatcherPriority
継承
DispatcherPriority

フィールド

名前 説明
Invalid -1

列挙値は -1 です。 これは無効な優先度です。

Inactive 0

列挙値は 0 です。 操作は処理されません。

SystemIdle 1

列挙値は 1 です。 操作は、システムがアイドル状態のときに処理されます。

ApplicationIdle 2

列挙値は 2 です。 操作は、アプリケーションがアイドル状態のときに処理されます。

ContextIdle 3

列挙値は 3 です。 操作は、バックグラウンド操作が完了した後に処理されます。

Background 4

列挙値は 4 です。 操作は、他のすべての非アイドル操作が完了した後に処理されます。

Input 5

列挙値は 5 です。 操作は、入力と同じ優先順位で処理されます。

Loaded 6

列挙値は 6 です。 操作は、レイアウトとレンダリングが完了したが、入力優先度の項目が処理される直前に処理されます。 具体的には、Loaded イベントを発生させるときに使用されます。

Render 7

列挙値は 7 です。 レンダリングと同じ優先順位で処理された操作。

DataBind 8

列挙値は 8 です。 操作は、データ バインディングと同じ優先順位で処理されます。

Normal 9

列挙値は 9 です。 操作は通常の優先順位で処理されます。 これが一般的なアプリケーションの優先順位です。

Send 10

列挙値は 10 です。 操作は、他の非同期操作の前に処理されます。 これが最も高い優先順位です。

次の例では、 Dispatcher.BeginInvoke メソッドを呼び出し、1 つの引数を持つデリゲートを渡します。 優先度は 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)

注釈

現在のバージョンのWPFでは、ApplicationIdle および ContextIdle に対応する特定のシステム状態または "アイドル状態" はありません。 どちらも引き続き有効な優先順位です。優先度が ContextIdle の操作は、優先度が SystemIdle の操作よりも優先度が高くなります。

Dispatcherは、CPU の一定の割合を超えた場合、操作の実行を調整しません。 プロセスを調整する 1 つの方法は、タイマーを使用することです。

Dispatcher.Invokeを使用してSendの優先順位で独自のDispatcherを使用して操作がポストされた場合、操作はキューをバイパスし、直ちに実行されます。

適用対象