我遇到了将ComboBox绑定到IEnumerable<BitmapImage>
的问题,其中图像存储在服务器上并按需下载。在实际发生绑定时,大多数图像尚未下载并导致ComboBox在其位置显示空选择。是否有一种简单的方法可以在下载完成时强制绑定图像进行更新。我想异步这样做;即,在将列表绑定到ComboBox之前,我不想等到它们全部下载。
欢迎所有建议,包括提出替代方法。
答案 0 :(得分:1)
我遇到了类似的问题。我的黑客解决方案是将每个BitmapImage设置为虚拟Image控件的源。只要Image控件可见,它就可以工作。然后我只是在每个BitmapImage被“加载”后折叠图像。
答案 1 :(得分:0)
我正在研究类似的解决方案。我在组合框中显示图像并按需加载它的方式是,我将Image-Control定义为DataTemplate,并将Image-Control的Source绑定到相应图像文件的URL。
这种方式取决于Image控件加载Image on Demand(显示时)
<强> 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;}
}