BitmapImage isDownloading始终为true

问题描述 投票:1回答:2

我正在尝试加载bitmapImage,同时等待其加载长达10秒。为此,我需要确定映像何时完成下载。因此,我正在检查“ isDownloading”属性,以确定是否确实在下载图像。

这里是代码:

Uri imageUri = new Uri(imageSource);
BitmapImage bitmapImage = new BitmapImage(imageUri);
if (bitmapImage.IsDownloading)
{
   bitmapImage.DownloadCompleted += (s, e) => _autoResetEvent.Set();
   var imageLoadingTimer = new Timer(10000);
   imageLoadingTimer.Elapsed += (s, e) => _autoResetEvent.Set();
   imageLoadingTimer.Start();
   _autoResetEvent.WaitOne();                
}

问题是,尽管确实根据Fiddler在0.4秒之内下载了图像并完成了下载,但DownloadCompleted事件从未触发,并且isDownloading属性始终为true。

任何帮助将不胜感激谢谢!

c# wpf bitmapimage
2个回答
-1
投票
以下列方式重新排列您的陈述。

var bitmapImage = new BitmapImage(); bitmapImage.DownloadCompleted += (s, e) => ... // Whatever bitmapImage.UriSource = imageUri;

这应确保在下载文件时已经完成了DownloadCompleted处理程序。

© www.soinside.com 2019 - 2024. All rights reserved.