цикл по папке с изображениями в приложении wpf - PullRequest
0 голосов
/ 17 ноября 2009

В настоящее время я загружаю все изображения в папку в папке «MyPictures» на моем компьютере, которая работает нормально ...

foreach (string filename in Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)))

Что я действительно хочу сделать, так это загрузить все изображения из папки «Изображения» в свой проект решения. Может кто-нибудь сказать мне правильный синтаксис, чтобы сделать это?

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012

Один из способов доступа к изображениям, хранящимся в папке внутри проекта WPF, заключается в следующем:

Если вы уже добавили изображения в папку «Изображения», добавьте имена файлов изображений в файле Resources.resx в разделе «Свойства». Вы можете получить доступ к изображениям в коде по следующему

string imageFilename = "pack://application:,,,/APP.UI;component/Images/" + Properties.Resources.imagefilename;
var src = new BitmapImage();
src.UriSource = new Uri(imageFilename , UriKind.Absolute);
0 голосов
/ 18 ноября 2009

[Насколько я могу судить, ничто в вашем вопросе (как оно в настоящее время указано) не имеет прямого отношения к WPF, в отличие от C # (и разработки для Windows) в целом. Вы можете получить лучший ответ, если вопрос будет помечен на C #, а не на WPF.]

Я не думаю, что есть способ сослаться на папку вашего решения как таковой (и при этом это не имеет особого смысла, поскольку пользователи вашего приложения, как правило, не будут иметь решения, только распространяемые файлы).

Если вам нужно, чтобы каталог как-то находился в папке вашего решения, возможно, вам следует обратиться к каталогу, в котором находится ваш исполняемый файл (...\SolutionDir\bin\Debug), который вы можете получить с помощью

System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly()
    .GetModules()[0].FullyQualifiedName);

(Конечно, вы могли бы прикрепить \..\.. к этому, чтобы вместо этого ссылаться на SolutionDir, но это было бы немного некрасиво.)

Однако, в зависимости от использования изображений, вероятно, было бы лучше поместить их в один из определенных специальных каталогов - Environment.SpecialFolder.CommonApplicationData звучит как лучший кандидат, если изображения должны быть доступны всем пользователям. .

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