#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