3

我在将 ComboBox 绑定到 时遇到问题IEnumerable<BitmapImage>,其中图像存储在服务器上并按需下载。在实际发生绑定时,大多数图像还没有下载,导致 ComboBox 在它们的位置显示空选择。有没有一种简单的方法可以强制绑定的图像在下载完成时更新。我想异步执行此操作;即,我不想等到它们都被下载后才将列表绑定到ComboBox。

欢迎所有建议,包括提出替代方法。

4

2 回答 2

1

我遇到了类似的问题。我被黑的解决方案是将每个 BitmapImage 设置为虚拟 Image 控件的源。只要 Image 控件可见,它就可以工作。然后我只是在“加载”每个 BitmapImage 后折叠图像。

于 2011-03-22T06:50:06.157 回答
0

我正在研究类似的解决方案。我在组合框中显示图像并按需加载它们的方式是,我将 Image-Control 定义为 DataTemplate 并将 Image-Control 的 Source 绑定到相应图像文件的 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;}
}
于 2011-03-22T07:10:10.833 回答