2009-10-01 8 views
2

Я создаю приложение FlippingBook Silverlight, и я столкнулся с проблемой, которую я не могу решить.Проблема с динамической загрузкой Silverlight

Проблема с асинхронно загруженными изображениями. Я написал класс, который загружает изображение из webaddress и сохраняет его в объекте BitmapImage.

Я привязываюсь к этому объекту изображения к источнику изображения на элементе управления изображением silverlight. Теперь моя страница и миниатюра имеют одно и то же свойство ImageData, которое хранит данные изображений.

Список миниатюр - это список, который был создан для просмотра миниатюр.

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

Все работает с изображениями, загружаемыми в фоновом режиме и обновляющими интерфейс, когда они были загружены ... ЗА ИСКЛЮЧЕНИЕМ первых 3 (и всегда первых 3) элементов в списке уменьшенных изображений никогда не отображаются изображения.

Это изображение, чтобы проиллюстрировать пользовательский интерфейс и проблемы: alt text http://www.pcbuyersguide.co.za/picture.php?albumid=19&pictureid=895

код Binding изображения на странице:

<Image Source="{Binding ImageData}" Stretch="Fill" ImageFailed="Image_ImageFailed"/> 

код Binding изображения на уменьшенных изображений (стилизации ListBoxItem):

<Image Stretch="Fill" Source="{Binding ImageData}"/> 

Недвижимость:

public BitmapImage ImageData 
    { 
     get { return oImageData; } 
     set 
     { 
      if (value != this.oImageData) 
      { 
       this.oImageData = value; 
       NotifyPropertyChanged("ImageData"); 
      } 
     } 
    } 

Я протестировал с изображениями, которые занимают много времени, и все работает, но именно эти первые 3 дают мне ад. Я не понимаю, как элементы привязаны и должны эффективно быть одинаковыми.

ItemSource - наблюдаемый коллектив. Я знаю, что не дал большой информации, но хочу попытаться сосредоточить свой вопрос. Если вам нужна дополнительная информация, я буду рад предоставить ее.

Любая помощь была бы принята с благодарностью.

ответ

2

Это оказалось проблемой со стилем на ItemContentStyle, который я определил. У меня был набор гридов, установленный на определенный фиксированный размер, который кажется, что Silverlight не нравится, поэтому я установил размер на изображении и сделал некоторые другие настройки, и, похоже, это получилось.