Встроенные двоичные ресурсы - как я могу перечислить встроенные файлы изображений? - PullRequest
4 голосов
/ 24 сентября 2010

Я следовал инструкциям в этой книге , главе о ресурсах и т. Д., И я не могу понять, как мне заменить это:

images.Add(new BitmapImage(new Uri(@"/Images/Deer.jpg", UriKind.Relative)));
images.Add(new BitmapImage(new Uri(@"/Images/Dogs.jpg", UriKind.Relative)));
images.Add(new BitmapImage(new Uri(@"/Images/Welcome.jpg", UriKind.Relative)));

нацикл, который будет просто проходить через все встроенные ресурсы изображений, чтобы избежать жесткого кодирования имен и путей изображений.Как мне узнать имена встроенных файлов?

Я выбрал изображения, которые я хотел внедрить и указал:

Создать действие = Ресурс и Скопировать в выходной каталог = Не копировать

в окне свойств.Сборка значительно увеличилась в размерах, и я вполне уверен, что изображения действительно были встроены.

1 Ответ

5 голосов
/ 24 сентября 2010

попробуйте что-нибудь с помощью GetManifestResourceNames или посмотрите на объект ResourceManager.

Assembly assembly = Assembly.GetExecutingAssembly();
foreach (string s in assembly.GetManifestResourceNames())
{
    //match on filenames here. you can also extention matching to find images.
}
...