1
, 내가 얻을 수있는 유일한 옵션은 그래서, 내가 데이터를 얻을하는 데 필요한 모든 기능을 내장 응답을외부 API 응답으로 ListBox를 채우는 방법? 내가 API에 요청하고
var r = (HttpWebRequest)WebRequest.Create(url);
r.BeginGetResponse(new AsyncCallback(ResponseMethod), state);
을 얻을 비동기이며, 그것은 노력하고 있습니다. 그러나 데이터는 다른 스레드에서 수신됩니다. 내 ListBox 내 MainViewModel
에있는 StreamItems
바인딩되어 있습니다.
public ObservableCollection<StreamItemViewModel> StreamItems { get; private set; }
하지만 다른 스레드에 있기 때문에이 속성에 직접 액세스하여 새 값을 추가 할 수 없습니다. 내가하려고하면 :
StreamItems.Add(new StreamItemViewModel
{
Content = responseContent
});
를 내가 얻을 :
UnauthorizedAccessException - Invalid cross-thread access.
어떻게 내가 요청에서 가져온 값을 추가 할 수 있습니까?