Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Dispatcher.Invoke

 

Publicado: octubre de 2016

Ejecuta el delegado especificado de forma sincrónica en el subproceso de la Dispatcher está asociado.

Espacio de nombres:   System.Windows.Threading
Ensamblado:  WindowsBase (en WindowsBase.dll)

NombreDescripción
System_CAPS_pubmethodInvoke(Action)

Ejecuta especificado Action sincrónicamente en el subproceso de la Dispatcher está asociado.

System_CAPS_pubmethodInvoke(Action, DispatcherPriority)

Ejecuta especificado Action sincrónicamente con la prioridad especificada en el subproceso de la Dispatcher está asociado.

System_CAPS_pubmethodInvoke(Action, DispatcherPriority, CancellationToken)

Ejecuta especificado Action sincrónicamente con la prioridad especificada en el subproceso de la Dispatcher está asociado.

System_CAPS_pubmethodInvoke(Action, DispatcherPriority, CancellationToken, TimeSpan)

Ejecuta especificado Action sincrónicamente con la prioridad especificada en el subproceso de la Dispatcher está asociado.

System_CAPS_pubmethodInvoke(Delegate, DispatcherPriority, Object[])

Ejecuta el delegado especificado con la prioridad especificada con los argumentos especificados sincrónicamente en el subproceso de la Dispatcher está asociado.

System_CAPS_pubmethodInvoke(Delegate, Object[])

Ejecuta el delegado especificado con los argumentos especificados sincrónicamente en el subproceso de la Dispatcher está asociado.

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

Ejecuta el delegado especificado en el intervalo de tiempo designado con la prioridad especificada con los argumentos especificados sincrónicamente en el subproceso de la Dispatcher está asociado.

System_CAPS_pubmethodInvoke(Delegate, TimeSpan, Object[])

Ejecuta el delegado especificado en el intervalo de tiempo designado con la prioridad especificada con los argumentos especificados sincrónicamente en el subproceso de la Dispatcher está asociado.

System_CAPS_pubmethodInvoke(DispatcherPriority, Delegate)

Ejecuta el delegado especificado de forma sincrónica con la prioridad especificada en el subproceso en el que el Dispatcher está asociado.

System_CAPS_pubmethodInvoke(DispatcherPriority, Delegate, Object)

Ejecuta el delegado especificado con la prioridad especificada con el argumento especificado sincrónicamente en el subproceso de la Dispatcher está asociado.

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

Ejecuta el delegado especificado con la prioridad especificada con los argumentos especificados sincrónicamente en el subproceso de la Dispatcher está asociado.

System_CAPS_pubmethodInvoke(DispatcherPriority, TimeSpan, Delegate)

Ejecuta el delegado especificado de forma sincrónica con la prioridad especificada y con el valor de tiempo de espera especificado en el subproceso el Dispatcher se creó.

System_CAPS_pubmethodInvoke(DispatcherPriority, TimeSpan, Delegate, Object)

Ejecuta el delegado especificado con la prioridad especificada con el argumento especificado sincrónicamente en el subproceso de la Dispatcher está asociado.

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

Ejecuta el delegado especificado con la prioridad especificada con los argumentos especificados sincrónicamente en el subproceso de la Dispatcher está asociado.

System_CAPS_pubmethodInvoke<TResult>(Func<TResult>)

Ejecuta especificado Func<TResult> sincrónicamente en el subproceso de la Dispatcher está asociado.

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

Ejecuta especificado Func<TResult> sincrónicamente con la prioridad especificada en el subproceso de la Dispatcher está asociado.

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

Ejecuta especificado Func<TResult> sincrónicamente con la prioridad especificada en el subproceso de la Dispatcher está asociado.

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

Ejecuta especificado Func<TResult> sincrónicamente con la prioridad especificada en el subproceso de la Dispatcher está asociado.

En WPF, sólo el subproceso que creó un DispatcherObject pueden tener acceso a ese objeto. Por ejemplo, un subproceso en segundo plano que se ponga en marcha desde el subproceso de interfaz de usuario principal no puede actualizar el contenido de un Button que creó en el subproceso de interfaz de usuario. En orden para el subproceso en segundo plano tener acceso a la propiedad de contenido de la Button, el subproceso en segundo plano debe delegar el trabajo en el Dispatcher asociado al subproceso de interfaz de usuario. Esto se logra utilizando Invoke o BeginInvoke. Invoke es sincrónica y BeginInvoke es asincrónico. La operación se agrega a la cola de eventos de la Dispatcher en el índice especificado DispatcherPriority.

Invoke es una operación sincrónica; por lo tanto, control, no se devolverá para el objeto que realiza la llamada hasta que después de la devolución de llamada.

En el ejemplo siguiente se coloca un delegado en un Dispatcher en Normal utilizando 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));
}
Volver al principio
Mostrar: