내 문제는 내 작업이 UI 요소에 데이터 바인딩 된 관찰 가능 컬렉션을 변경하고 있다는 것입니다. 내 작업 진행 상황을보고하고,이 데이터는 observable collection
를 통해 UI 업데이트됩니다 :이 코드를 실행하면 내가이 오류를 얻을비동기 ObservableCollection을 진행 상태로 업데이트
async private void getProductData()
{
await Task.Run(() => getTableDataFromDb(new Progress<string>(
data => _prc.Add(new ProductList() { Taxe = data })
), "List"));
}
private void getTableDataFromDb(IProgress<string> progress, string tabelName)
{
//simple exemple
for(var i =0; i < 100; i++)
progress.Report("test"+i);
}
: 내가 메인 스레드에 액세스 할 수있는 방법을
This type of CollectionView does not support changes to its SourceCollection from a thread different from the Dispatcher thread.
을 이 컬렉션을 업데이트 하시겠습니까? 감사합니다.
http://stackoverflow.com/questions/2091988/how-do-i-update-an-observablecollection-via-a-worker-thread –
내 앱이 backgroundworker가 아닌 async-await을 사용하고 있습니다. 감사합니다. –
동일합니다. 배경 스레드에서 문제 ... 컬렉션이 변경되었습니다. –