我正在为 windows phone 7.5 制作类似 flexster 的应用程序。我有一段代码,我想获取即将上映的电影图片和电影 ID。但是当我的代码完成时,只有第一张图片会填充到列表框图像中。这是我的代码:
public void NowPlayinJson(string Uri)
{
string apiUri = string.Format("{0}{1}{2}10", Uri, ApiKay, PagesLimit);
WebClient Rclient = new WebClient();
Rclient.DownloadStringAsync(new Uri(apiUri));
Rclient.DownloadStringCompleted += (s, e) =>
{
if (e.Error == null)
{
jsonStringValue = (e.Result.ToString().Trim());
ImageUri();
}
};
}
public void ImageUri()
{
var ParseImageUri = JObject.Parse(jsonStringValue);
var ParseToJson =
JsonConvert.DeserializeObject<RootObject(ParseImageUri.ToString());
NowPlayingUri = ParseToJson.movies[0+a].posters.detailed;
a++;
DownloadImage();
}
public void DownloadImage()
{
if (!web.IsBusy)
{
web.OpenReadAsync(new Uri(NowPlayingUri), UriKind.Absolute);
}
web.OpenReadCompleted +=
new OpenReadCompletedEventHandler(web_OpenReadCompleted);
}
void web_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error == null)
{
while(i<6)
{
var stream = e.Result;
var bi = new BitmapImage();
bi.SetSource(stream);
myNowPlayingList.Add(new NowPlaying()
{ NowImage = bi, NowTitle = "title" + i });
i++;
if (b < 6)
{
b++;
ImageUri();
}
if(b == 6)
{
b++;
NowPlayingListBox.ItemsSource = myNowPlayingList;
}
}
}
}