1
我想提出一個API的請求,我得到的唯一的選擇是異步響應得到如何用外部API響應填充ListBox?
var r = (HttpWebRequest)WebRequest.Create(url);
r.BeginGetResponse(new AsyncCallback(ResponseMethod), state);
所以,我建我需要的一切得到的數據,這是工作。但數據是在不同的線程中收到的。我的列表框綁定到StreamItems
,它存在於我的MainViewModel
中。
public ObservableCollection<StreamItemViewModel> StreamItems { get; private set; }
但是我在一個不同的線程,所以我不能直接訪問此屬性來添加新的值。當我嘗試:
StreamItems.Add(new StreamItemViewModel
{
Content = responseContent
});
我得到:
UnauthorizedAccessException - Invalid cross-thread access.
我怎樣才能補充一點,我從請求得到了價值?