この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Dispatcher.PushFrame メソッド (DispatcherFrame)

 

公開日: 2016年10月

実行ループに入ります。

名前空間:   System.Windows.Threading
アセンブリ:  WindowsBase (WindowsBase.dll 内)

[SecurityCriticalAttribute]
[UIPermissionAttribute(SecurityAction.LinkDemand, Unrestricted = true)]
public static void PushFrame(
	DispatcherFrame frame
)

パラメーター

frame
Type: System.Windows.Threading.DispatcherFrame

ディスパッチャーが処理するフレーム。

Exception Condition
ArgumentNullException

framenull です。

InvalidOperationException

HasShutdownFinished します。 true

または

frame 別に実行されている Dispatcherします。

または

ディスパッチャーの処理を無効にされています。

A DispatcherFrame 保留中の作業項目を処理するループを表します。

ディスパッチャーは、ループ内での作業項目のキューを処理します。 ループは、"フレーム"と呼ばれます。 呼び出して最初のループが開始、アプリケーションで通常 Runです。

PushFrame パラメーターによって表されるループに入る frameします。 ループの反復ごとに、 Dispatcher は確認、 Continue プロパティを DispatcherFrame クラスは、ループを続行するかどうか、または停止するかどうかを判断します。

DispatcherFrame により、 Continue プロパティを明示的に設定して、それを尊重、 HasShutdownStarted プロパティを Dispatcherです。 つまり、ときに、 Dispatcher をシャット ダウンが起動し、既定値を使用するフレーム DispatcherFrame を終了する入れ子になったすべてのフレームを有効にする、実装が終了されます。

次の例では、使用する方法、 DispatcherFrame と同様の結果を実現するために、 Windows フォーム DoEvents メソッドです。 

[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public void DoEvents()
{
    DispatcherFrame frame = new DispatcherFrame();
    Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
        new DispatcherOperationCallback(ExitFrame), frame);
    Dispatcher.PushFrame(frame);
}

public object ExitFrame(object f)
{
    ((DispatcherFrame)f).Continue = false;

    return null;
}

UIPermission

for pushing an execution frame. Associated enumerations: F:System.Security.Permissions.PermissionState.Unrestricted

.NET Framework
3.0 以降で使用可能
トップに戻る
表示: