2010-10-26 53 views
1

我在Windows Phone手机解决方案中的文件夹中有图像。我怎样才能得到这个文件夹中的图像集合?所有图像的构建动作是“内容”。WP7:图像集合

回答

1

它一直在窃听我,这是不可能做到这一点,所以我已经做了一些挖掘,并想出了一个方法获得所有图像文件的列表与“资源”的构建操作。 - 是的,这不是所要求的,但希望这仍然有用。

如果您确实必须使用“内容”构建操作,我会在构建时使用T4脚本生成文件列表。 (这是我做我的项目之一,它工作正常)

假设图像是一个名为“图片”文件夹中,你可以用下面让他们:

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()); 

这只是显示名称列表,但希望能够轻松地将其更改为您需要的任何内容。

有关改进此代码的任何建议将不胜感激。

+0

我不知道图像的名字。我需要从文件夹中获取所有图像。 – Rover 2010-10-26 12:53:54