在过去的两天里,这让我发疯,我发现的任何接近的东西似乎都不适合我的情况,也许有人可以指出我做错了什么。
我有一个 WPF 项目,其中包含相当多的图像(80 左右)。我已将它们添加到项目中名为“Images”的文件夹中。它们目前被设置为嵌入式资源(尽管我也尝试过常规资源),但似乎没有任何效果。
我正在尝试使用这些文件作为源创建并加载 Image 类型的 ArrayList,但失败得很严重。
private void addPicture(string name)
{
string filePath = "pack://MyApp_WPF:,,,/Images/" + name + ".png";
Stream imageStream = assembly.GetManifestResourceStream(filePath);
Image curImage = new Image();
BitmapImage bmpImage = new BitmapImage();
bmpImage.BeginInit();
bmpImage.UriSource = new Uri(filePath, UriKind.Relative);
bmpImage.EndInit();
curImage.Height = 60;
curImage.Stretch = Stretch.Uniform;
curImage.Source = bmpImage;
curImage.Margin = new Thickness(5);
imageList.Add(curImage);
}
在我的 Windows 窗体应用程序中,这要容易得多,但我只是无法用 WPF 来解决这个问题...除了资源链接之外的任何帮助都很好,因为此时我很可能已经阅读过它们。
首先要注意的是,有一个DownloadError http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapsource.downloadfailed.aspx您应该订阅的事件,这可能会解释正在发生的事情及其原因(尽管有时错误消息相当通用);接下来是你可能不需要pack://
URI 构造与图像构建操作Resource
:
var bmpImage = new BitmapImage(new Uri(
string.Format("/Images/{0}.png", name", UriKind.Relative));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)