我正在尝试加载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。
任何帮助将不胜感激谢谢!
var bitmapImage = new BitmapImage();
bitmapImage.DownloadCompleted += (s, e) => ... // Whatever
bitmapImage.UriSource = imageUri;
这应确保在下载文件时已经完成了DownloadCompleted处理程序。