Цикл по ресурсам Visual Studio - PullRequest
1 голос
/ 03 мая 2011

Я использую Visual Studio 2010 с приложением C # WPF и добавил несколько изображений в подпапку, которая называется assets.Можно ли как-нибудь перебрать все изображения, которые я добавил в папку, с помощью пакетов URI или чего-то подобного?

1 Ответ

1 голос
/ 03 мая 2011

Следующий метод получает все имена файлов в папке ресурсов:

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;
    //...
}

Я не напишите этот метод, это из другого вопроса здесь, на SO, я постараюсь найти его ...

Редактировать: Это от здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...