24 messaggi dal 19 novembre 2008
GULP! sto cercando di aggiornare un controllo textbox in WPF da una chiamata CallExternalMethod lanciata in WF. Tutto va bene sino a quando non arrivo alla fatidica istruzione textbox1.text="A". Il debug mi da errore perchè non sono nel thread generante. Ho provato tutti gli esempi possibili con la invoke (nella quale eseguo la famigerata istruzione) ed ho implementato ISynchronizeInvoke nella applicazione host WPF ma tutto ciò risulta inutile. Sarei grato se qualcuno mi desse qualche aiuto.

Essere vivo richiede uno sforzo maggiore del semplice respirare.
Non ti serve implementare l'interfaccia ISynchronizeInvoke. E' solo una questione che il thread del workflow è diverso da quello dell'interfaccia. Devi eseguire l'assegnazione textBox.Text su di esso. Per farlo fai:
textBox.Invoke(new MethodInvoker(delegate {
textBox.Text = "valore";
}));

Ciao

Il mio blog
Homepage
24 messaggi dal 19 novembre 2008
Ti ringrazio per l'attenzione. Premetto che sto usando VB e non mi è chiaro come richiamare il delegate sulla textbox visto che questo controllo è fuori dalla classe del servizio WF.
(chiarisco: ho una window che instanzia un servizio per la gestione del WF con tanto di interfaccia ed eventi. Al click di un pulsante parte regolarmente l'evento sul servizio che modifica lo stato del WF, questo restituisce la chiamata al metodo del servizio, ma non riesco come avevo descritto nel post, ad aggiornare la famosa textbox)
Grazie

Essere vivo richiede uno sforzo maggiore del semplice respirare.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.