1

我正在使用以下代码将图像从文件加载到位图图像类中,以便以特定大小显示给用户:

                BitmapImage resized = new BitmapImage();
                FileStream fs = new FileStream(ImageSource, FileMode.Open);
                MemoryStream ms = new MemoryStream();
                fs.CopyTo(ms);
                fs.Close();
                resized.BeginInit();
                resized.CacheOption = BitmapCacheOption.OnDemand;
                resized.DecodePixelHeight = (int)(_imageBaseHeight * zoomRate);
                resized.DecodePixelWidth = (int)(_imageBaseWidth * zoomRate);
                resized.StreamSource = ms;
                resized.EndInit();
                ImageDisplay = resized;

问题是,有时,在特别大的图像上,这会静默失败并显示空白图像而不会引发异常。是否有我可以在 EndInit() 之后检查的标志以确保图像已加载?

4

2 回答 2

3

使用resized.DownloadFailed事件获取通知。

于 2011-08-08T13:45:35.350 回答
0

您还可以使用 ImageFailed 事件。

于 2015-06-04T02:03:10.093 回答