Цикл по ресурсам Visual Studio

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


person Jack    schedule 03.05.2011    source источник
comment
Вы задали 22 вопроса, только на 11 из них вы приняли ответ.   -  person Security Hound    schedule 03.05.2011
comment
Вот что это значит! Я думал, что это означает процент людей, которые приняли мои вопросы или что-то в этом роде. Спасибо.   -  person Jack    schedule 09.05.2011


Ответы (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;
    //...
}

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

Изменить: это из здесь.

person H.B.    schedule 03.05.2011