2014-01-30 2 views
0

У меня есть два проекта Windows Phone. Оба имеют же код для заполнения изображения неправдоподобные из URL, который это:Изображение не загружается в элемент управления изображением

<Image x:Name="imgThumb" Margin="0,-94,0,6" Width="90" Height="90" Source="{Binding Thumb}"/> 

И мой код выглядит так:

string thumb = i["thumbnail"].ToString(); //fetch thumbnail from json object 
if (thumb == "") 
    item.Thumb = "\images\noimage.jpg"; 
else 
    item.Thumb = thumb; 

На обоих проектах, когда JSON возвращает URL изображения , изображение показывает без проблем. Однако проблема заключается в том, что у у json нет URL-адреса. Когда это произойдет, мне нужно показать файл изображения noimage.jpg. В первом проекте это изображение «офлайн» отображается, но во втором проекте отображается пустое изображение. Я уже тестировал его, и источник управления Image установлен правильно ... Но изображение не может отображаться.

Некоторые вещи, которые необходимо учитывать: изображение помещается в оба проекта по правильному пути, и для них установлено значение Контент.

Любая помощь?

Спасибо!

+0

я знаю что "if (thumb ==" ")« немного странно, но я уже изменил его на «if (thumb.IsNullOrEmpty())». – Van

+0

Говоря «проверено», вы имеете в виду отлаженную? –

+0

Да, это так! Свойство Source установлено правильно. – Van

ответ

0

Прежде всего, это неправильная косая черта для источника «\». Попробуйте использовать другой «/» =)

Второй. Это не обязательно, но и уменьшить немного кода, попробуйте использовать этот источник изображения:

Source="{Binding Thumb, TargetNullValue=/images/noimage.jpg}" 

Таким образом, вы можете изменить этот код

if (thumb.IsNullOrEmpty()) 
    item.Thumb = "\images\noimage.jpg"; 
else 
    item.Thumb = thumb; 

к этому

if (!thumb.IsNullOrEmpty()) 
    item.Thumb = thumb; 
+0

О обратной косой черте, на самом деле я использую '/'. Я не использовал CTRL + C, поэтому я переписал код здесь. – Van

+0

Интересно. Ну, это странно. Хорошо, но как насчет второй рекомендации? Если он не работает, значит, что-то не так с дорогой или с изображением. Попробуйте просто создать образ в любом месте. И вы уверены, что большой палец действительно пуст, могут быть какие-то пробелы? Я часто использую string.IsNullOrWhiteSpace (большой палец). –

+0

Это не сработало. Я перепроверялся на 100-й раз, и файл там, я очистил/восстановил его решение, переустановил приложение, он все равно не сработает. Но, с другой стороны, я сделал ваши исправления в другом проекте, и он работал, как раньше. Спасибо за свойство TargetNullValue, я не знал этого! – Van

Смежные вопросы