Изображение некорректно загружается из BitmapImage в коде

#c# #silverlight #silverlight-4.0

#c# #silverlight #silverlight-4.0

Вопрос:

Хорошо, я пытаюсь загрузить изображение в элемент управления изображением на моей странице. Теперь, насколько я знаю, я знаю, как это сделать (метод, который я использую, работал раньше). Но по какой-то причине на этот раз это не работает. Изображение не загружается.

Хорошо, давайте начнем с XAML. Вы можете увидеть это здесь .. Пожалуйста, обратите внимание на мои отличные художественные навыки. Вы можете видеть, что верхнее изображение — это левое изображение на экране, а нижнее изображение — правое. Как вы также можете видеть, изображение справа загружается в XAML из файла в папке Assets / Images. Следует также отметить, что из этого можно сделать вывод, что изображение загружается нормально — ошибок с изображением нет. Мы также можем видеть, что изображения ничем не заблокированы (когда программа запускается, правильное изображение отображается просто отлично).

Итак, левое изображение, ‘image1’ — это то, которое я загружаю из кода позади. Вот код для этой страницы. Как вы можете видеть, их не так много. Да, я использую модель представления, но она вообще не взаимодействует с изображением (ее единственными открытыми свойствами являются объект (для выбранного элемента) и наблюдаемая коллекция объектов (для ItemsSource элемента управления)). Как вы также можете видеть, я пытаюсь загрузить то же изображение, которое используется для статического изображения (поэтому я могу с уверенностью сказать, что изображение подходит для Silverlight).

Если вам интересно узнать о строке BitmapCreateOptions, кто-то предложил мне добавить это. Я попытался удалить его, но это, похоже, не вызывает никакой разницы.

Следующий вопрос — пытался ли я использовать обработчик событий для сбоя? Да, у меня есть. Ошибка, которую я получаю, — это ‘AG_E_NETWORK_ERROR’.

Я не уверен, о чем именно идет речь — я не загружаюсь из сети.

Кто-нибудь может предложить помощь? Спасибо.

Ответ №1:

Я не могу не заметить, что в вашем XAML у вас есть «.. /» в начале пути к изображению, но это отсутствует в пути, который вы используете в code-behind. Может ли это быть проблемой?

Ответ №2:

Вы пытались вызвать BeginInit и EndInit до и после установки uri?

 BitmapImage bmpImg = new BitmagImage();
bmpImg.BeginInit();
bmpImg.UriSource = new Uri(...);
bmpImg.EndInit();
  

Или используйте конструктор, который принимает Uri. msdn