【问题标题】:Loop through Visual Studio resources循环访问 Visual Studio 资源
【发布时间】:2011-05-03 12:11:42
【问题描述】:

我正在使用带有 C# WPF 应用程序的 Visual Studio 2010,并且我已将一些图像添加到名为 assets 的子文件夹中。有什么方法可以循环浏览我使用包 URI 或类似的东西添加到文件夹中的所有图像?

【问题讨论】:

  • 您已经提出了 22 个问题,其中只有 11 个您接受了答案。
  • 就是这个意思!我认为这意味着接受我的问题或类似问题的人的百分比。谢谢。

标签: c# wpf visual-studio-2010 resources


【解决方案1】:

以下方法获取资源文件夹中的所有文件名:

public static string[] GetResourcesUnder(string folder)
{
    folder = folder.ToLower() + "/";

    var assembly       = Assembly.GetCallingAssembly();
    var resourcesName  = assembly.GetName().Name + ".g.resources";
    var stream         = assembly.GetManifestResourceStream(resourcesName);
    var resourceReader = new ResourceReader(stream);

    var resources =
        from p in resourceReader.OfType<DictionaryEntry>()
        let theme = (string)p.Key
        where theme.StartsWith(folder)
        select theme.Substring(folder.Length);

    return resources.ToArray();
}

使用时只需将头放回原处:

var files = GetResourcesUnder("Images");
foreach (var file in files)
{
    string uriPath = "pack://application:,,,/Images/" + file;
    //...
}

我确实没有写过这个方法,它来自另一个问题,我会试着找到它......

编辑:来自here

【讨论】:

    猜你喜欢
    • 2012-07-22
    • 1970-01-01
    • 2014-01-26
    • 2011-08-06
    • 2016-08-03
    • 2013-01-31
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    相关资源
    最近更新 更多