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.Invoke (DispatcherPriority, TimeSpan, Delegate, Object)

 

Data di pubblicazione: ottobre 2016

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

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

[BrowsableAttribute(false)]
public object Invoke(
	DispatcherPriority priority,
	TimeSpan timeout,
	Delegate method,
	object arg
)

Parametri

priority
Type: System.Windows.Threading.DispatcherPriority

La priorità, rispetto alle altre operazioni in sospeso di Dispatcher coda degli eventi, il metodo specificato viene richiamata.

timeout
Type: System.TimeSpan

Il tempo massimo di attesa per il completamento dell'operazione.

method
Type: System.Delegate

Un delegato a un metodo che accetta più argomenti, che viene inserito il Dispatcher coda eventi.

arg
Type: System.Object

Oggetto da passare come argomento al metodo specificato. Se non sono richiesti argomenti, può corrispondere a null.

Valore restituito

Type: System.Object

Il valore restituito dal delegato richiamato oppure null Se il delegato non restituisce alcun valore.

Exception Condition
ArgumentException

priority è uguale a Inactive.

InvalidEnumArgumentException

priority non è una priorità valida.

ArgumentNullException

method è null.

Arg può essere null Se non è necessario un argomento

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.

Invoke è un'operazione sincrona; Pertanto, controllo non verrà restituito all'oggetto chiamante fino a dopo la restituzione del callback.

.NET Framework
Disponibile da 3.0
Torna all'inizio
Mostra: