本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

Dispatcher.Invoke 方法

 

在该线程上异步执行指定的委托 Dispatcher 与相关联。

命名空间:   System.Windows.Threading
程序集:  WindowsBase(位于 WindowsBase.dll)

名称说明
System_CAPS_pubmethodInvoke(Action)

执行指定 Action 线程上同步 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(Action, DispatcherPriority)

执行指定 Action 以同步方式按指定的优先级的线程上 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(Action, DispatcherPriority, CancellationToken)

执行指定 Action 以同步方式按指定的优先级的线程上 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

执行指定 Action 以同步方式按指定的优先级的线程上 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(Delegate, DispatcherPriority, Object[])

在该线程上异步执行指定的委托以使用指定的参数指定的优先级 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(Delegate, Object[])

在线程上异步执行指定的参数指定的委托 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(Delegate, TimeSpan, DispatcherPriority, Object[])

在该线程上异步执行以使用指定的参数指定的优先级的指定的时间跨度内指定的委托 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(Delegate, TimeSpan, Object[])

在线程上异步执行指定的委托以使用指定的参数指定的优先级的指定的时间跨度内 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(DispatcherPriority, Delegate)

在其上的线程上执行指定的委托以同步方式按指定的优先级 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(DispatcherPriority, Delegate, Object)

在该线程上异步执行指定的委托,以使用指定的参数指定的优先级 Dispatcher 与相关联。

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

在线程上异步执行指定的委托,以使用指定的参数指定的优先级 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(DispatcherPriority, TimeSpan, Delegate)

在线程上执行指定的委托以同步方式按指定的优先级并使用指定的超时值 Dispatcher 已创建。

System_CAPS_pubmethodInvoke(DispatcherPriority, TimeSpan, Delegate, Object)

在该线程上异步执行指定的委托,以使用指定的参数指定的优先级 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])

在该线程上异步执行指定的委托以使用指定的参数指定的优先级 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke<TResult>(Func<TResult>)

执行指定 Func<TResult> 线程上同步 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke<TResult>(Func<TResult>, DispatcherPriority)

执行指定 Func<TResult> 同步按指定的优先级的线程上 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)

执行指定 Func<TResult> 以同步方式按指定的优先级的线程上 Dispatcher 与相关联。

System_CAPS_pubmethodInvoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)

执行指定 Func<TResult> 以同步方式按指定的优先级的线程上 Dispatcher 与相关联。

在 WPF, ,创建的线程 DispatcherObject 才能访问该对象。 例如,从主 UI 线程派生的后台线程不能更新的内容 Button UI 线程上创建。 为了使后台线程访问的内容属性的 Button, ,后台线程必须将工作委托给 Dispatcher 与 UI 线程关联。 这通过使用实现 InvokeBeginInvoke Invoke 是同步和 BeginInvoke 是异步的。 该操作将添加到事件队列的 Dispatcher 指定 DispatcherPriority

Invoke 是同步操作;因此,控件不会返回对调用对象直到回调返回后。

以下示例将委托上的 DispatcherNormal 使用 Invoke

// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
    // Place delegate on the Dispatcher.
    this.Dispatcher.Invoke(DispatcherPriority.Normal,
        new TimerDispatcherDelegate(TimerWorkItem));
}
返回页首
显示: