我在将 ComboBox 绑定到 时遇到问题IEnumerable<BitmapImage>
,其中图像存储在服务器上并按需下载。在实际发生绑定时,大多数图像还没有下载,导致 ComboBox 在它们的位置显示空选择。有没有一种简单的方法可以强制绑定的图像在下载完成时更新。我想异步执行此操作;即,我不想等到它们都被下载后才将列表绑定到ComboBox。
欢迎所有建议,包括提出替代方法。
我在将 ComboBox 绑定到 时遇到问题IEnumerable<BitmapImage>
,其中图像存储在服务器上并按需下载。在实际发生绑定时,大多数图像还没有下载,导致 ComboBox 在它们的位置显示空选择。有没有一种简单的方法可以强制绑定的图像在下载完成时更新。我想异步执行此操作;即,我不想等到它们都被下载后才将列表绑定到ComboBox。
欢迎所有建议,包括提出替代方法。
我遇到了类似的问题。我被黑的解决方案是将每个 BitmapImage 设置为虚拟 Image 控件的源。只要 Image 控件可见,它就可以工作。然后我只是在“加载”每个 BitmapImage 后折叠图像。
我正在研究类似的解决方案。我在组合框中显示图像并按需加载它们的方式是,我将 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;}
}