在Windows Phone 8上工作。
遇到了一个问题,我几年前不知怎么解决了,但记不起来了。
GetNews();
InitializeComponent();
private void GetNews()
{
HttpWebRequest request = HttpWebRequest.CreateHttp(GS.BACKEND_HOST + "something");
request.BeginGetResponse(new AsyncCallback(HandleResponseNews), request);
}
private void HandleResponseNews(IAsyncResult result)
{
HttpWebRequest request = result.AsyncState as HttpWebRequest;
if (request != null)
{
using (WebResponse response = request.EndGetResponse(result))
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string JSON = reader.ReadToEnd();
NewsList = JsonConvert.DeserializeObject<News>(JSON) as News;
}
}
}
}
我需要用NewsList项目填充我的列表框。但我只能在NewsList中填写了请求响应后才能到达。
我需要某种触发器。。。
找到的解决方案:
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
foreach (Article article in NewsList.Result.Articles)
{
NewsListBox.Items.Add(article.Title);
}
});