Как получить изображение с относительного URL в C #, изображение не может быть в проекте - PullRequest
0 голосов
/ 26 апреля 2010

У меня есть проект, в котором я загружаю относительное изображение Uri из файла XML. Я загружаю изображение так:

if (child.Name == "photo" &&
    child.Attributes["href"] != null &&
    File.Exists(child.Attributes["href"].Value))
{
    Image image = new Image();
    image.Source = new BitmapImage(new Uri(child.Attributes["href"].Value, UriKind.RelativeOrAbsolute));
    images.Add(image);
}

Где дочерний объект - это XmlNode, который может выглядеть следующим образом

<photo name="info" href="Resources\Content\test.png"/>

Во время отладки казалось, что изображения заполнены реальными изображениями, но когда я хочу увидеть их каким-либо образом, они ничего не показывают. Странно то, что когда я включаю изображения в свой проект, он действительно работает, однако я не хочу этого делать, поскольку моя точка зрения на использование XML-файла такова, что он будет потерян, поскольку вам все равно придется перестраивать программу после изменения .

Ответы [ 2 ]

1 голос
/ 26 апреля 2010

Не идеальное решение, но, тем не менее, оно работает, я конвертирую относительные значения Uri в абсолютные, как этот

if (child.Name == "photo" &&
    child.Attributes["href"] != null &&
    File.Exists(Environment.CurrentDirectory + child.Attributes["href"].Value))
{
    Image image = new Image();
    image.Source = new BitmapImage(new Uri(Environment.CurrentDirectory + child.Attributes["href"].Value, UriKind.RelativeOrAbsolute));
    images.Add(image);
}

Нужно было только изменить все Uri в xml, чтобы иметь начальный слеш.

0 голосов
/ 26 апреля 2010

Хм, может быть эта простая проблема с текущей папкой. Проверка ресурсов VS в проекте / Ресурсы / Контент / папка и проверка ресурсов программы в проекте / bin / Debug / Resources / Content / folder.

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