Проблема с изображением в Silverlight - PullRequest
1 голос
/ 20 мая 2011

Привет

Проблема

Когда я пытаюсь добавить изображения в свой проект Silverlight, я получаю сообщение об ошибке: "AG_E_NETWORK_ERROR".

Recreate

Я создаю новый проект silverlight 4 без веб-части. Так что я получаю только MyApplication.

В MyApplication я добавляю карту под названием «Изображения», и на этой карте я добавляю несколько изображений. Egg.png, Chicken.png.

Теперь я хочу загрузить эти изображения в мой проект silverlight. В mainpage.xaml я размещаю: <Image Source="/Images/Egg.png" /> но это не загружается.

Так что я пробую это из кода:

var imag = new BitmapImage(new Uri(@"\Images\Egg.png", UriKind.Relative));
imag.ImageFailed += (s, ea) =>
{
    throw new Exception(ea.ErrorException.Message);
};

Это, однако, продолжает выдавать вышеупомянутую ошибку, что я и пытаюсь сделать.

Изображения устанавливаются в качестве ресурса и «Не копировать».

  1. Что я делаю не так ??
  2. Как я могу заставить изображения работать?

[Изменить]

После комментариев я заметил, что изображение загружается в исходном проекте.

Но у меня есть пользовательский элемент управления в другом проекте, в который я отправляю изображение. Оттуда загрузка все еще терпит неудачу.

Как я могу это исправить? Я что-то упустил?

Ответы [ 2 ]

2 голосов
/ 20 мая 2011

Это ужасное общее сообщение об ошибке, но я считаю, что проблема может заключаться просто в том, что файлы не могут быть найдены. Когда вы добавляете элементы в свой проект Silverlight, они не копируются в папку ClientBin сайта хостинга (даже при сборке, независимо от настроек Copy to output directory, потому что это только определяет, что делает его текущим проектом bin папка) - вам нужно будет скопировать их вручную (или в конечном итоге использовать шаг после сборки), то есть:

  • Скопируйте необходимые ресурсы самостоятельно из проекта Silverlight в папку ClientBin веб-сайта хостинга вместе с файлом .xap.

Обновление

Итак, нет решения для веб-сайта, ресурсы, попадающие в папку bin самого проекта Silverlight? Если нет, попробуйте это:

  • Установите изображения BuildAction на Content
  • Установите Copy to output directory на Copy Always или Copy if newer
0 голосов
/ 20 мая 2011

Когда ваш XAML анализируется:

<Image Source="/Images/Egg.png" />

URI преобразуется в подходящий URI для размещения вашего изображения. Если вы установите исходный код в коде позади, вы должны сделать это преобразование самостоятельно. URI имеет следующий формат:

/MyNameSpace;Images/Egg.png

Смотрите этот вопрос по теме:

Как установить Image.Source в Silverlight (код позади)

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