Dispatcher.BeginInvoke Method

定義

Dispatcher が関連付けられているスレッドで、デリゲートを非同期的に実行します。 Executes a delegate asynchronously on the thread the Dispatcher is associated with.

オーバーロード

BeginInvoke(Delegate, Object[])

Dispatcher が作成されたスレッドで、指定した引数で指定したデリゲートを非同期的に実行します。 Executes the specified delegate asynchronously with the specified arguments on the thread that the Dispatcher was created on.

BeginInvoke(DispatcherPriority, Delegate)

Dispatcher が関連付けられているスレッドで、指定したデリゲートを指定した優先順位で非同期的に実行します。 Executes the specified delegate asynchronously at the specified priority on the thread the Dispatcher is associated with.

BeginInvoke(Delegate, DispatcherPriority, Object[])

Dispatcher が作成されたスレッドで、指定した引数を使用して指定したデリゲートを、指定した優先順位で非同期に実行します。 Executes the specified delegate asynchronously with the specified arguments, at the specified priority, on the thread that the Dispatcher was created on.

BeginInvoke(DispatcherPriority, Delegate, Object)

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で非同期的に実行します。 Executes the specified delegate asynchronously at the specified priority and with the specified argument on the thread the Dispatcher is associated with.

BeginInvoke(DispatcherPriority, Delegate, Object, Object[])

Dispatcher が関連付けられているスレッドで、指定した一連の引数を使用して、指定したデリゲートを指定した優先順位で非同期的に実行します。 Executes the specified delegate asynchronously at the specified priority and with the specified array of arguments on the thread the Dispatcher is associated with.

注釈

WPFWPF、作成したスレッドのみをDispatcherObjectそのオブジェクトにアクセスすることがあります。In WPFWPF, only the thread that created a DispatcherObject may access that object. バック グラウンド スレッドは、メイン UI スレッドからスピンオフすることはできませんの内容の更新など、 Button UI スレッド上に作成されました。For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. バック グラウンド スレッドの Content プロパティにアクセスするために、 Button、バック グラウンド スレッドに作業を委任する必要があります、 Dispatcher UI スレッドに関連付けられています。In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. これは、いずれかを使用して実現InvokeまたはBeginInvokeします。This is accomplished by using either Invoke or BeginInvoke. Invoke 同期とBeginInvokeは非同期です。Invoke is synchronous and BeginInvoke is asynchronous. この操作は、のイベント キューに追加されます、Dispatcher指定したDispatcherPriorityします。The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

BeginInvoke 非同期です。そのため、コントロールが呼び出されると、呼び出し元のオブジェクトを直ちにに返されます。BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

BeginInvoke 返します、DispatcherOperationデリゲートがキューでは、イベントのデリゲートと対話するために使用できるオブジェクト。BeginInvoke returns a DispatcherOperation object that can be used to interact with the delegate when the delegate is in the event queue.

DispatcherOperationによって返されるオブジェクトBeginInvokeなど、指定したデリゲートと対話するいくつかの方法で使用できます。The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 変更、DispatcherPriorityデリゲートの保留中は実行のイベント キューにします。Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • デリゲートをイベント キューから削除しています。Removing the delegate from the event queue.

  • 返すデリゲートを待機しています。Waiting for the delegate to return.

  • その後に、デリゲートが返された値を取得するが実行されます。Obtaining the value that the delegate returns after it is executed.

複数BeginInvoke同時呼び出しが行われるDispatcherPriority呼び出しが行われた順序で実行されます。If multiple BeginInvoke calls are made at the same DispatcherPriority, they will be executed in the order the calls were made.

場合BeginInvokeで呼び出される、Dispatcherをシャット ダウン、返されたの status プロパティDispatcherOperationに設定されているAbortedします。If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

BeginInvoke(Delegate, Object[])

Dispatcher が作成されたスレッドで、指定した引数で指定したデリゲートを非同期的に実行します。 Executes the specified delegate asynchronously with the specified arguments on the thread that the Dispatcher was created on.

public System.Windows.Threading.DispatcherOperation BeginInvoke (Delegate method, params object[] args);
パラメーター
method
Delegate

args で指定したパラメーターを受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。 The delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.

args
Object[]

特定のメソッドに引数として渡すオブジェクトの配列。 An array of objects to pass as arguments to the given method. null の場合があります。 Can be null.

戻り値

BeginInvoke の呼び出し直後に返されるオブジェクト。このオブジェクトを使用して、イベント キューで実行が保留になっているデリゲートと対話できます。 An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the event queue.

注釈

DispatcherOperationによって返されるオブジェクトBeginInvokeなど、指定したデリゲートと対話するいくつかの方法で使用できます。The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 変更、DispatcherPriorityデリゲートの保留中は実行のイベント キューにします。Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • デリゲートをイベント キューから削除しています。Removing the delegate from the event queue.

  • 返すデリゲートを待機しています。Waiting for the delegate to return.

  • その後に、デリゲートが返された値を取得するが実行されます。Obtaining the value that the delegate returns after it is executed.

BeginInvoke 非同期です。そのため、コントロールが呼び出されると、呼び出し元のオブジェクトを直ちにに返されます。BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF、作成したスレッドのみをDispatcherObjectそのオブジェクトにアクセスすることがあります。In WPFWPF, only the thread that created a DispatcherObject may access that object. バック グラウンド スレッドは、メイン UI スレッドからスピンオフすることはできませんの内容の更新など、 Button UI スレッド上に作成されました。For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. バック グラウンド スレッドの Content プロパティにアクセスするために、 Button、バック グラウンド スレッドに作業を委任する必要があります、 Dispatcher UI スレッドに関連付けられています。In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. これは、いずれかを使用して実現InvokeまたはBeginInvokeします。This is accomplished by using either Invoke or BeginInvoke. Invoke 同期とBeginInvokeは非同期です。Invoke is synchronous and BeginInvoke is asynchronous. この操作は、のイベント キューに追加されます、Dispatcher指定したDispatcherPriorityします。The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

場合BeginInvokeで呼び出される、Dispatcherをシャット ダウン、返されたの status プロパティDispatcherOperationに設定されているAbortedします。If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

BeginInvoke(DispatcherPriority, Delegate)

Dispatcher が関連付けられているスレッドで、指定したデリゲートを指定した優先順位で非同期的に実行します。 Executes the specified delegate asynchronously at the specified priority on the thread the Dispatcher is associated with.

[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke (System.Windows.Threading.DispatcherPriority priority, Delegate method);
パラメーター
priority
DispatcherPriority

指定したメソッドを呼び出す優先順位。これは、Dispatcher イベント キューにある保留中のその他の操作に対する優先順位です。 The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

method
Delegate

引数を受け取らないメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。 The delegate to a method that takes no arguments, which is pushed onto the Dispatcher event queue.

戻り値

BeginInvoke の呼び出し直後に返されるオブジェクト。このオブジェクトを使用して、イベント キューで実行が保留になっているデリゲートと対話できます。 An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the event queue.

例外

methodnullです。 method is null.

priority は有効な DispatcherPriority ではありません。 priority is not a valid DispatcherPriority.

次の例に、操作を配置する方法を示しています、Dispatcherします。The following example shows how to place an operation onto a Dispatcher. この例の完全なソース コードを参照してください。実行時間の長い計算のサンプルを使用して、シングル スレッド アプリケーションします。For the full source code of this example, see Single-Threaded Application with Long-Running Calculation Sample.

最初に、デリゲート引数を受け取らないを作成します。First, a delegate is created that accepts no arguments.

public delegate void NextPrimeDelegate();
Public Delegate Sub NextPrimeDelegate()

次に、BeginInvoke(DispatcherPriority, Delegate)が呼び出されます。Next, BeginInvoke(DispatcherPriority, Delegate) is called. すべてDispatcherObjectを返すプロパティがあります、Dispatcher目的に関連付けられているDispatcherクエリを実行して取得されます、 DispatcherObject、ここで、Buttonという名前のstartStopButtonします。Because every DispatcherObject has a property that returns the Dispatcher it is associated with, the desired Dispatcher is obtained by querying the DispatcherObject, in this case a Button named startStopButton. 呼び出しBeginInvoke(DispatcherPriority, Delegate)2 つのパラメーター: に設定されている優先度DispatcherPriority.Normal、およびデリゲートのインスタンスを経由で渡されると、コールバックNextPrimeDelegateします。The call to BeginInvoke(DispatcherPriority, Delegate) takes two parameters: the priority, which is set to DispatcherPriority.Normal, and the callback, which is passed in through an instance of the delegate NextPrimeDelegate.

startStopButton.Dispatcher.BeginInvoke(
    DispatcherPriority.Normal,
    new NextPrimeDelegate(CheckNextNumber));
startStopButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal, New NextPrimeDelegate(AddressOf CheckNextNumber))

注釈

複数BeginInvoke同時呼び出しが行われるDispatcherPriority呼び出しが行われた順序で実行されます。If multiple BeginInvoke calls are made at the same DispatcherPriority, they will be executed in the order the calls were made.

BeginInvoke 返します、DispatcherOperationデリゲートがキューでは、イベントのデリゲートと対話するために使用できるオブジェクト。BeginInvoke returns a DispatcherOperation object that can be used to interact with the delegate when the delegate is in the event queue.

DispatcherOperationによって返されるオブジェクトBeginInvokeなど、指定したデリゲートと対話するいくつかの方法で使用できます。The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 変更、DispatcherPriorityデリゲートの保留中は実行のイベント キューにします。Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • デリゲートをイベント キューから削除しています。Removing the delegate from the event queue.

  • 返すデリゲートを待機しています。Waiting for the delegate to return.

  • その後に、デリゲートが返された値を取得するが実行されます。Obtaining the value that the delegate returns after it is executed.

BeginInvoke 非同期です。そのため、コントロールが呼び出されると、呼び出し元のオブジェクトを直ちにに返されます。BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF、作成したスレッドのみをDispatcherObjectそのオブジェクトにアクセスすることがあります。In WPFWPF, only the thread that created a DispatcherObject may access that object. バック グラウンド スレッドは、メイン UI スレッドからスピンオフすることはできませんの内容の更新など、 Button UI スレッド上に作成されました。For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. バック グラウンド スレッドの Content プロパティにアクセスするために、 Button、バック グラウンド スレッドに作業を委任する必要があります、 Dispatcher UI スレッドに関連付けられています。In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. これは、いずれかを使用して実現InvokeまたはBeginInvokeします。This is accomplished by using either Invoke or BeginInvoke. Invoke 同期とBeginInvokeは非同期です。Invoke is synchronous and BeginInvoke is asynchronous. この操作は、のイベント キューに追加されます、Dispatcher指定したDispatcherPriorityします。The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

場合BeginInvokeで呼び出される、Dispatcherをシャット ダウン、返されたの status プロパティDispatcherOperationに設定されているAbortedします。If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

BeginInvoke(Delegate, DispatcherPriority, Object[])

Dispatcher が作成されたスレッドで、指定した引数を使用して指定したデリゲートを、指定した優先順位で非同期に実行します。 Executes the specified delegate asynchronously with the specified arguments, at the specified priority, on the thread that the Dispatcher was created on.

public System.Windows.Threading.DispatcherOperation BeginInvoke (Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
パラメーター
method
Delegate

args で指定したパラメーターを受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。 The delegate to a method that takes parameters specified in args, which is pushed onto the Dispatcher event queue.

priority
DispatcherPriority

指定したメソッドを呼び出す優先順位。これは、Dispatcher イベント キューにある保留中のその他の操作に対する優先順位です。 The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

args
Object[]

特定のメソッドに引数として渡すオブジェクトの配列。 An array of objects to pass as arguments to the given method. null の場合があります。 Can be null.

戻り値

BeginInvoke の呼び出し直後に返されるオブジェクト。このオブジェクトを使用して、イベント キューで実行が保留になっているデリゲートと対話できます。 An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the event queue.

注釈

DispatcherOperationによって返されるオブジェクトBeginInvokeなど、指定したデリゲートと対話するいくつかの方法で使用できます。The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 変更、DispatcherPriorityデリゲートの保留中は実行のイベント キューにします。Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • デリゲートをイベント キューから削除しています。Removing the delegate from the event queue.

  • 返すデリゲートを待機しています。Waiting for the delegate to return.

  • その後に、デリゲートが返された値を取得するが実行されます。Obtaining the value that the delegate returns after it is executed.

BeginInvoke 非同期です。そのため、コントロールが呼び出されると、呼び出し元のオブジェクトを直ちにに返されます。BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF、作成したスレッドのみをDispatcherObjectそのオブジェクトにアクセスすることがあります。In WPFWPF, only the thread that created a DispatcherObject may access that object. バック グラウンド スレッドは、メイン UI スレッドからスピンオフすることはできませんの内容の更新など、 Button UI スレッド上に作成されました。For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. バック グラウンド スレッドの Content プロパティにアクセスするために、 Button、バック グラウンド スレッドに作業を委任する必要があります、 Dispatcher UI スレッドに関連付けられています。In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. これは、いずれかを使用して実現InvokeまたはBeginInvokeします。This is accomplished by using either Invoke or BeginInvoke. Invoke 同期とBeginInvokeは非同期です。Invoke is synchronous and BeginInvoke is asynchronous. この操作は、のイベント キューに追加されます、Dispatcher指定したDispatcherPriorityします。The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

場合BeginInvokeで呼び出される、Dispatcherをシャット ダウン、返されたの status プロパティDispatcherOperationに設定されているAbortedします。If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

BeginInvoke(DispatcherPriority, Delegate, Object)

Dispatcher が関連付けられているスレッドで、指定した引数を使用して、指定したデリゲートを指定した優先順位で非同期的に実行します。 Executes the specified delegate asynchronously at the specified priority and with the specified argument on the thread the Dispatcher is associated with.

[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
パラメーター
priority
DispatcherPriority

指定したメソッドを呼び出す優先順位。これは、Dispatcher イベント キューにある保留中のその他の操作に対する優先順位です。 The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

method
Delegate

引数を 1 つ受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。 A delegate to a method that takes one argument, which is pushed onto the Dispatcher event queue.

arg
Object

指定したメソッドに引数として渡すオブジェクト。 The object to pass as an argument to the specified method.

戻り値

BeginInvoke の呼び出し直後に返されるオブジェクト。このオブジェクトを使用して、イベント キューで実行が保留になっているデリゲートと対話できます。 An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the event queue.

例外

methodnullです。 method is null.

priority は有効な DispatcherPriority ではありません。 priority is not a valid DispatcherPriority.

次の例に、操作を配置する方法を示しています、Dispatcherします。The following example shows how to place an operation onto a Dispatcher.

最初に、この場合は文字列で、1 つの引数を受け取るデリゲートを作成します。First, a delegate is created that accepts one argument, in this case a string.

private delegate void OneArgDelegate(String arg);
Private Delegate Sub OneArgDelegate(ByVal arg As String)

次に、BeginInvoke(DispatcherPriority, Delegate, Object)が呼び出されます。Next, BeginInvoke(DispatcherPriority, Delegate, Object) is called. すべてDispatcherObjectを返すプロパティがあります、Dispatcher目的に関連付けられているDispatcherクエリを実行して取得されます、 DispatcherObject、ここで、Gridという名前のtomorrowsWeatherします。Because every DispatcherObject has a property that returns the Dispatcher it is associated with, the desired Dispatcher is obtained by querying the DispatcherObject, in this case a Grid named tomorrowsWeather. 呼び出しBeginInvoke(DispatcherPriority, Delegate, Object)は 3 つのパラメーターを受け取ります: に設定されている優先度DispatcherPriority.Normal;、コールバックは、デリゲートのインスタンスを通じて渡されるOneArgDelegate; という名前の文字列とweather、これは、コールバックの引数。The call to BeginInvoke(DispatcherPriority, Delegate, Object) takes three parameters: the priority, which is set to DispatcherPriority.Normal; the callback, which is passed in through an instance of the delegate OneArgDelegate; and a string named weather, which is the argument for the callback.

// 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)

注釈

Arg null引数が必要ない場合。Arg can be null if no arguments are needed.

BeginInvoke 返します、DispatcherOperationデリゲートがキューでは、イベントのデリゲートと対話するために使用できるオブジェクト。BeginInvoke returns a DispatcherOperation object that can be used to interact with the delegate when the delegate is in the event queue.

DispatcherOperationによって返されるオブジェクトBeginInvokeなど、指定したデリゲートと対話するいくつかの方法で使用できます。The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 変更、DispatcherPriorityデリゲートの保留中は実行のイベント キューにします。Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • デリゲートをイベント キューから削除しています。Removing the delegate from the event queue.

  • 返すデリゲートを待機しています。Waiting for the delegate to return.

  • その後に、デリゲートが返された値を取得するが実行されます。Obtaining the value that the delegate returns after it is executed.

BeginInvoke 非同期です。そのため、コントロールが呼び出されると、呼び出し元のオブジェクトを直ちにに返されます。BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF、作成したスレッドのみをDispatcherObjectそのオブジェクトにアクセスすることがあります。In WPFWPF, only the thread that created a DispatcherObject may access that object. バック グラウンド スレッドは、メイン UI スレッドからスピンオフすることはできませんの内容の更新など、 Button UI スレッド上に作成されました。For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. バック グラウンド スレッドの content プロパティにアクセスするために、 Button、バック グラウンド スレッドに作業を委任する必要があります、 Dispatcher UI スレッドに関連付けられています。In order for the background thread to access the content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. これは、いずれかを使用して実現InvokeまたはBeginInvokeします。This is accomplished by using either Invoke or BeginInvoke. Invoke 同期とBeginInvokeは非同期です。Invoke is synchronous and BeginInvoke is asynchronous. この操作は、のイベント キューに追加されます、Dispatcher指定したDispatcherPriorityします。The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

複数BeginInvoke同時呼び出しが行われるDispatcherPriority呼び出しが行われた順序で実行されます。If multiple BeginInvoke calls are made at the same DispatcherPriority, they will be executed in the order the calls were made.

場合BeginInvokeで呼び出される、Dispatcherをシャット ダウン、返されたの status プロパティDispatcherOperationに設定されているAbortedします。If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

BeginInvoke(DispatcherPriority, Delegate, Object, Object[])

Dispatcher が関連付けられているスレッドで、指定した一連の引数を使用して、指定したデリゲートを指定した優先順位で非同期的に実行します。 Executes the specified delegate asynchronously at the specified priority and with the specified array of arguments on the thread the Dispatcher is associated with.

[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
パラメーター
priority
DispatcherPriority

指定したメソッドを呼び出す優先順位。これは、Dispatcher イベント キューにある保留中のその他の操作に対する優先順位です。 The priority, relative to the other pending operations in the Dispatcher event queue, the specified method is invoked.

method
Delegate

複数の引数を受け取るメソッドへのデリゲート。このデリゲートは、Dispatcher イベント キューにプッシュされます。 A delegate to a method that takes multiple arguments, which is pushed onto the Dispatcher event queue.

arg
Object

指定したメソッドに引数として渡すオブジェクト。 The object to pass as an argument to the specified method.

args
Object[]

指定したメソッドに引数として渡すオブジェクトの配列。 An array of objects to pass as arguments to the specified method.

戻り値

BeginInvoke の呼び出し直後に返されるオブジェクト。このオブジェクトを使用して、Dispatcher キューで実行が保留になっているデリゲートと対話できます。 An object, which is returned immediately after BeginInvoke is called, that can be used to interact with the delegate as it is pending execution in the Dispatcher queue.

例外

methodnullです。 method is null.

DispatcherPriority が有効な優先順位ではありません。 DispatcherPriority is not a valid priority.

注釈

argパラメーターを指定できますnull引数が必要ない場合。The arg parameter can be null if no arguments are needed.

BeginInvoke 返します、DispatcherOperationデリゲートがキューでは、イベントのデリゲートと対話するために使用できるオブジェクト。BeginInvoke returns a DispatcherOperation object that can be used to interact with the delegate when the delegate is in the event queue.

DispatcherOperationによって返されるオブジェクトBeginInvokeなど、指定したデリゲートと対話するいくつかの方法で使用できます。The DispatcherOperation object returned by BeginInvoke can be used in several ways to interact with the specified delegate, such as:

  • 変更、DispatcherPriorityデリゲートの保留中は実行のイベント キューにします。Changing the DispatcherPriority of the delegate as it is pending execution in the event queue.

  • デリゲートをイベント キューから削除しています。Removing the delegate from the event queue.

  • 返すデリゲートを待機しています。Waiting for the delegate to return.

  • その後に、デリゲートが返された値を取得するが実行されます。Obtaining the value that the delegate returns after it is executed.

BeginInvoke 非同期です。そのため、コントロールが呼び出されると、呼び出し元のオブジェクトを直ちにに返されます。BeginInvoke is asynchronous; therefore, control returns immediately to the calling object after it is called.

WPFWPF、作成したスレッドのみをDispatcherObjectそのオブジェクトにアクセスすることがあります。In WPFWPF, only the thread that created a DispatcherObject may access that object. バック グラウンド スレッドは、メイン UI スレッドからスピンオフすることはできませんの内容の更新など、 Button UI スレッド上に作成されました。For example, a background thread that is spun off from the main UI thread cannot update the contents of a Button that was created on the UI thread. バック グラウンド スレッドの Content プロパティにアクセスするために、 Button、バック グラウンド スレッドに作業を委任する必要があります、 Dispatcher UI スレッドに関連付けられています。In order for the background thread to access the Content property of the Button, the background thread must delegate the work to the Dispatcher associated with the UI thread. これは、いずれかを使用して実現InvokeまたはBeginInvokeします。This is accomplished by using either Invoke or BeginInvoke. Invoke 同期とBeginInvokeは非同期です。Invoke is synchronous and BeginInvoke is asynchronous. この操作は、のイベント キューに追加されます、Dispatcher指定したDispatcherPriorityします。The operation is added to the event queue of the Dispatcher at the specified DispatcherPriority.

複数BeginInvoke同時呼び出しが行われるDispatcherPriority呼び出しが行われた順序で実行されます。If multiple BeginInvoke calls are made at the same DispatcherPriority, they will be executed in the order the calls were made.

場合BeginInvokeで呼び出される、Dispatcherをシャット ダウン、返されたの status プロパティDispatcherOperationに設定されているAbortedします。If BeginInvoke is called on a Dispatcher that has shut down, the status property of the returned DispatcherOperation is set to Aborted.

適用対象