嵌入式二进制资源 - 如何枚举嵌入的图像文件?

时间:2010-09-24 15:21:37

标签: c# .net visual-studio-2010 resources embedded-resource

我按照this book中有关资源等章节的说明进行操作,而我无法弄清楚的是,如何替换它:

images.Add(new BitmapImage(new Uri(@"/Images/Deer.jpg", UriKind.Relative)));
images.Add(new BitmapImage(new Uri(@"/Images/Dogs.jpg", UriKind.Relative)));
images.Add(new BitmapImage(new Uri(@"/Images/Welcome.jpg", UriKind.Relative)));

通过一个循环来简单地遍历所有嵌入的图像资源,以避免对图像名称和路径进行硬编码。我将如何发现嵌入文件的名称?

我确实选择了我想要嵌入并指定的图像:

构建操作=资源并复制到输出目录=不复制

<属性窗口中的

。这个组件的尺寸已经大大增加了,我确信图像确实已经嵌入了。

1 个答案:

答案 0 :(得分:5)

使用GetManifestResourceNames尝试一下,或者查看ResourceManager对象。

Assembly assembly = Assembly.GetExecutingAssembly();
foreach (string s in assembly.GetManifestResourceNames())
{
    //match on filenames here. you can also extention matching to find images.
}