public BitmapImage LoadImageFromZip(string resourceName, string imageName)
{
BitmapImage bitmapImage = null;
using (Stream zipStream = GetEmbeddedResourceStream(resourceName))
{
if (zipStream != null)
{
using (ZipArchive archive = new ZipArchive(zipStream, ZipArchiveMode.Read))
{
ZipArchiveEntry entry = archive.GetEntry(imageName);
if (entry != null)
{
using (Stream imageStream = entry.Open())
{
bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = imageStream;
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.EndInit();
return bitmapImage;
}
}
}
}
}
return null;
}
这是一个C# WPF应用程序项目中的一个方法,用于获取嵌入的资源中的压缩文件中的图片,但是始终无法加载。我在bitmapImage.EndInit()后加MessageBox方法用于Debug的时候代码就起作用了,怎样才能不依靠MessageBox的副作用就让图片正常加载?