数据表中的一行称为FirstImage
,其中包含Web服务器上图像文件的URL。我试图将此行的数据绑定到图片框的图像源。
我目前的代码:
For Each row As DataRow In ListData.Rows
Dim ImageDecode = ser.Deserialize(Of PropertyImage())(row("Images"))
row("FirstImage") = "http://rental.joshblease.co.uk/propertyimages/" & ImageDecode(0).Image
'Returns http://rental.joshblease.co.uk/propertyimages/image1.jpg
Next row
TxtListName.DataBindings.Add("Text", ListData, "Name")
TxtListSlug.DataBindings.Add("Text", ListData, "Slug")
TxtListCreated.DataBindings.Add("Text", ListData, "Created")
ImgListItem.DataBindings.Add("Image", ListData, "FirstImage", True)
DataRepeater1.DataSource = ListData
但目前,图像仍然是空白。我尝试将位置输入隐藏文本框并复制数据,但我可以;弄清楚如何在数据中继器中使用控件。
这是隐藏文本框代码的实验副本:
If Me.DataRepeater1.ItemCount > 0 Then
Dim n As Integer = Me.DataRepeater1.ItemCount
For i As Integer = 1 To n
Me.DataRepeater1.CurrentItemIndex = i - 1
Dim item = Me.DataRepeater1.CurrentItem
item.Controls("ImgListItem").ImageLocation = item.Controls("TxtImageLocation").Text
Next
End If
答案 0 :(得分:1)
只需添加图片框属性ImageLocation
即可ImgListItem.DataBindings.Add("ImageLocation", ListData, "FirstImage", True)
答案 1 :(得分:0)
图像的数据绑定需要二进制图像数据,在这种情况下,您传递一个字符串。我们可以做的是将图像位置转换为绑定可以理解的格式。请查看此链接C# Code Snippet - Download Image from URL。然后,一旦将图像存储在内存中,您就可以将其绑定到PictureBox。
此外,请注意this answer
中URIs are not supported by the BitMap class.中显示的最简单的方法对您不起作用