我的Windows手机解决方案中的文件夹中有图像。如何在此文件夹中获取图像集?所有图像的构建动作都是“内容”。
答案 0 :(得分:1)
一直困扰我的是,我无法做到这一点所以我已经做了一些挖掘并想出了一种方法,通过“资源”的构建操作获取所有图像文件的列表。 - 是的,这不是所要求的,但希望这仍然有用。
如果你真的必须使用“内容”的构建操作,我会使用T4脚本在构建时生成文件列表。 (这就是我对我的一个项目的处理方式,它运行正常。)
假设图像位于名为“images”的文件夹中,您可以使用以下内容获取它们:
var listOfImageResources = new StringBuilder();
var asm = Assembly.GetExecutingAssembly();
var mrn = asm.GetManifestResourceNames();
foreach (var resource in mrn)
{
var rm = new ResourceManager(resource.Replace(".resources", ""), asm);
try
{
var NOT_USED = rm.GetStream("app.xaml"); // without getting a stream, next statement doesn't work - bug?
var rs = rm.GetResourceSet(Thread.CurrentThread.CurrentUICulture, false, true);
var enumerator = rs.GetEnumerator();
while (enumerator.MoveNext())
{
if (enumerator.Key.ToString().StartsWith("images/"))
{
listOfImageResources.AppendLine(enumerator.Key.ToString());
}
}
}
catch (MissingManifestResourceException)
{
// Ignore any other embedded resources (they won't contain app.xaml)
}
}
MessageBox.Show(listOfImageResources.ToString());
这只会显示一个名单列表,但希望将其更改为您需要的任何内容都很容易。
非常感谢任何改进此代码的建议。