da due giorni sto cercando di risolvere il seguente problema: Ho un controllo WPF in cui un WrapPanel è associato a una ObservableCollection. Un'azione cambia il contenuto di ObservableCollection. Il contenuto è caricato in un BackgroundWorker. Subito dopo l'azione che ha causato la modifica del contenuto, il nuovo contenuto è necessario in un ciclo foreach. Il problema è che il caricamento del contenuto è lento, quindi è necessario un po 'per essere pronto.Come aggiornare ObservableCollection dall'interno di un BackgroundWorker usando MVVM?
Il mio primo tentativo è stato attendere il backgroundworker fino a quando la proprietà IsBusy è impostata su false. Ma la proprietà IsBusy non è mai cambiata durante l'attesa! Il secondo tentativo era di provare a manipolare ObservableCollection direttamente da BackgroundWorker. Ovviamente non ha successo perché ObservableCollection si trova in un altro thread rispetto a BackgroundWorker.
Ho letto davvero molto su come manipolare il contenuto in cross-thread-wide. Ma nessuno di loro ha funzionato. Provato soluzioni con Dispatcher, "ThreadSafeObservableCollection", .....
Qualcuno potrebbe dirmi come posso risolvere questo problema? C'è un modo semplice per modificare il contenuto del thread dell'interfaccia utente all'interno di un altro thread? O come posso aspettare correttamente che BackgroundWorker sia finito?
EDIT: Ma come posso aspettare il BackgroundWorker per ottenere finito ???
questo non ha aiutato in un risparmio di tempo, si corre ma sullo stesso thread! –