Nessuno di questi lavori:non può convertire espressione lambda al tipo 'System.Delegate'
_uiDispatcher.Invoke(() => { });
_uiDispatcher.Invoke(delegate() { });
Tutto quello che voglio fare è richiamare un metodo in linea sul mio thread principale dell'interfaccia utente. Così ho chiamato questo sul thread principale:
_uiDispatcher = Dispatcher.CurrentDispatcher;
E ora voglio eseguire del codice su quel thread da un altro thread. Come lo faccio? Sto usando la sintassi sbagliata?
Si noti che questo è non un'applicazione WPF; Ho fatto riferimento a WindowsBase
in modo da poter accedere alla classe Dispatcher
.
Che tipo è '_uiDispatcher'? Hai usato l'oggetto sincronizzato dell'interfaccia utente? – IAbstract
'uiDispatcher' è un'istanza di http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.aspx. Pensavo che fosse implicito da '_uiDispatcher = Dispatcher.CurrentDispatcher'. "L'interfaccia utente" non ha un oggetto sincronizzato AFAIK .... ma come dovrei usarlo? Cosa farebbe per me? – mpen
Ah ... ok, non penso che il dispatcher di thread funzionerà. È un'applicazione WinForm? – IAbstract