Silverlight ComboBox привязан к IEnumerable <BitmapImage>, где изображения загружаются с сервера - PullRequest
3 голосов
/ 18 декабря 2010

У меня проблема с привязкой ComboBox к IEnumerable<BitmapImage>, когда изображения хранятся на сервере и загружаются по требованию.В то время, когда привязка действительно имеет место, большинство изображений еще не загружено и заставляет ComboBox отображать пустые выделения на их месте.Существует ли простой способ заставить связанные изображения обновляться по завершении их загрузки.Я хотел бы сделать это асинхронно;т.е. я не хочу ждать, пока они все загрузятся, прежде чем связывать список с ComboBox.

Все предложения приветствуются, включая предложения альтернативных подходов.

Ответы [ 2 ]

1 голос
/ 22 марта 2011

У меня похожая проблема. Мое взломанное решение - установить для каждого BitmapImage источник фиктивного элемента управления Image. Пока элемент управления изображением виден, он работает. Затем я просто сворачиваю изображение после того, как каждый BitmapImage был «загружен».

0 голосов
/ 22 марта 2011

Я работаю над аналогичным решением.Я отображаю изображения в выпадающем списке и загружаю их по требованию, так как я определяю Image-Control как DataTemplate и привязываю источник Image-Control к URL-адресу соответствующего файла изображения.

Таким образом, до управления изображением можно загрузить изображение по требованию (когда оно отображается)

XAML:

<ComboBox Items="{Binding Images}">
  <ComboBox.ItemTemplate>
    <DataTemplate>
      <Image Source="{Binding ImageUrl}"/>
    </DataTemplate>
  </ComboBox.ItemTemplate>
</ComboBox>

C #:

public class ImageViewModel{
   public string ImageUrl {get; set;}
}
...