Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Dispatcher.BeginInvoke

 

Esegue in modo asincrono un delegato nel thread di Dispatcher è associato.

Spazio dei nomi:   System.Windows.Threading
Assembly:  WindowsBase (in WindowsBase.dll)

NomeDescrizione
System_CAPS_pubmethodBeginInvoke(Delegate, DispatcherPriority, Object[])

Esegue il delegato specificato in modo asincrono con gli argomenti specificati, la priorità specificata sul thread che il Dispatcher è stato creato.

System_CAPS_pubmethodBeginInvoke(Delegate, Object[])

Esegue il delegato specificato in modo asincrono con gli argomenti specificati sul thread che il Dispatcher è stato creato.

System_CAPS_pubmethodBeginInvoke(DispatcherPriority, Delegate)

Esegue in modo asincrono il delegato specificato con la priorità specificata sul thread di Dispatcher è associato.

System_CAPS_pubmethodBeginInvoke(DispatcherPriority, Delegate, Object)

Esegue il delegato specificato in modo asincrono alla priorità specificata e con l'argomento specificato sul thread di Dispatcher è associato.

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

Esegue il delegato specificato in modo asincrono alla priorità specificata e con la matrice di argomenti specificati nel thread di Dispatcher è associato.

In WPF, solo il thread che ha creato un DispatcherObject possono accedere all'oggetto. Ad esempio, un thread in background rimosso dal thread dell'interfaccia utente principale non è possibile aggiornare il contenuto di un Button creato sul thread dell'interfaccia utente. Affinché il thread in background per accedere alla proprietà Content del Button, il thread in background deve delegare l'operazione di Dispatcher associato al thread dell'interfaccia utente. Questa operazione viene eseguita tramite Invoke o BeginInvoke. Invoke è sincrono e BeginInvoke è asincrono. L'operazione viene aggiunta alla coda degli eventi di Dispatcher specificato DispatcherPriority.

BeginInvoke è asincrona; di conseguenza, controllo viene restituito immediatamente all'oggetto chiamante dopo la chiamata.

BeginInvoke Restituisce un DispatcherOperation oggetto che può essere utilizzato per interagire con il delegato quando il delegato dell'evento è coda.

Il DispatcherOperation oggetto restituito da BeginInvoke può essere utilizzato in diversi modi per interagire con il delegato specificato, ad esempio:

  • Modifica il DispatcherPriority del delegato mentre è in attesa esecuzione nella coda degli eventi.

  • Rimozione del delegato dalla coda degli eventi.

  • In attesa di delegato da restituire.

  • Viene eseguito il recupero del valore restituito dal delegato dopo di esso.

Se più BeginInvoke vengono effettuate chiamate alla stessa DispatcherPriority, verranno eseguite nell'ordine in cui sono state effettuate.

Se BeginInvoke viene chiamato su un Dispatcher che ha interrotto l'esecuzione, la proprietà status dell'oggetto restituito DispatcherOperation è impostato su Aborted.

Torna all'inizio
Mostra: