Ciao
mmm, non lo vedo possibile un "invalid cross-thread access" nel modo che ho utilizzato nel post precedenteOriginariamente inviato da GliderKite
Purtroppo il metodo che hai proposto l'avevo già provato, mi da eccezione dopo pochi giri del ciclo: {"Impossibile accedere all'oggetto dal thread chiamante perché tale oggetto è di proprietà di un altro thread."}.![]()
onestamente non mi sembra un buon metodo, ma ognuno ha le sue preferenze.Originariamente inviato da GliderKite
Oltrettutto quella che credevo essere la soluzione, che ho riadattato per WPF utilizzando il dispatcher in questo modo:
dove EmptyDelegate() è un metodo vuoto, funziona ma fino ad un certo punto. Nel senso che gli oggetti vengono immediatamente disegnati (probabilmente perchè il cambio di contesto permette a Windows di elaborare i messaggi di rendering), ma oltre al fatto che l'elaborazione risulta essere decisamente più lenta, ho notato facendo il debug che anche dopo essere uscito dal ciclo non sono stati visualizzati ancora tutti gli oggetti (e benche l'applicazione non sia completamente bloccata, lo risulta comunque essere parzialmente).codice:Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Background, Sub() Call EmptyDelegate())
ma la soluzione che ti ho postato l'hai provata nel tuo caso specifico? oppure hai dato per scontato che non funzionasse senza provarla? se è così (non l'hai provata) provala, non si sa maiOriginariamente inviato da GliderKite
In pratica sono al punti di partenza. Non riesco ad effettuare quel ciclo senza che l'applicazione si blocchi e in modo che gli oggetti vengano visualizzati subito dopo essere aggiunti al contenitore...![]()
prova descrivere meglio ciò che devi fare, magari un'altro modo si trovaOriginariamente inviato da GliderKite
Ps: purtroppo l'ordine di grandezza del numero di elementi e all'incirca quello..
Come posso fare?![]()