第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何刪除 SynchronizationContext 直到我的 BackgroundWorker

如何刪除 SynchronizationContext 直到我的 BackgroundWorker

C#
拉風(fēng)的咖菲貓 2023-07-09 17:57:31
我正在嘗試在BackgroundWorker線程中下載一些電影數(shù)據(jù),但是當(dāng)后臺線程嘗試修改ObservableCollection所選電影的字段時,出現(xiàn)錯誤,指出“這種類型的 CollectionView 不支持從與 Dispatcher 不同的線程更改其 SourceCollection線”。首先,我嘗試刪除任何 UI 元素,例如TextBoxes在運行之前BackgroundWorker,奇怪的是,即使沒有留下任何對象來同步更改,這似乎也不起作用。我可以通過使用此處的答案將更改發(fā)送到 UI 線程來解決此問題,但這意味著我必須用許多行淹沒我的后臺線程,uiContext.Send(x => _matchObsCollection.Add(match), null);這會使我的代碼比我想要的更混亂。理想情況下,我想刪除 SynchronizationContext,以便 UI 線程不會嘗試干擾后臺線程,但這又沒有任何區(qū)別。我在這里嘗試做的事情有問題嗎:// Prevent synchronization with the UI thread.var uiContext = SynchronizationContext.Current;SynchronizationContext.SetSynchronizationContext(null);// Prepare the background worker for data download tasks.BackgroundThread = new BackgroundWorker();BackgroundThread.WorkerReportsProgress = true;BackgroundThread.ProgressChanged += BackgroundThread_ProgressChanged;BackgroundThread.DoWork += (f, arg) =>{    DownloadMovieData(movie, uiContext);};
查看完整描述

1 回答

?
慕的地10843

TA貢獻1785條經(jīng)驗 獲得超8個贊

您可以嘗試將函數(shù)的結(jié)果存儲DownloadMovieData在臨時變量上,并向RunWorkerCompleted后臺工作人員添加一個事件,以將實際值設(shè)置ObservableCollection為您創(chuàng)建的臨時變量的值。



查看完整回答
反對 回復(fù) 2023-07-09
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號