2

我使用此代码从 Internet 获取图像

var image = new BitmapImage();
image.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad;
image.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
image.UriSource = new Uri(url, UriKind.Absolute);
image.EndInit();
RSSImage.Source = image;

有时没有图像。

似乎是由于超时等原因而发生的。

无论如何,我使用了一些异步。及时获取图像的方法?

有什么线索吗?

4

1 回答 1

4

异步加载图像(C# 5.0 和 .NET Framework 4.5):

using (var client = new WebClient()) {
  var bytes = await client.DownloadDataTaskAsync(url);

  var image = new BitmapImage();
  image.BeginInit();
  image.CacheOption = BitmapCacheOption.OnLoad;
  image.StreamSource = new MemoryStream(bytes);
  image.EndInit();
  RSSImage.Source = image;
}
于 2012-11-16T11:56:26.767 回答