[英]VB.Net using databindings with a picture box
数据表中的一行称为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
只需添加图片框属性ImageLocation
ImgListItem.DataBindings.Add("ImageLocation", ListData, "FirstImage", True)
图像的数据绑定需要二进制图像数据,在这种情况下,您需要将其传递给字符串。 我们所能做的就是将图像位置转换为绑定可以理解的格式。 看一下此链接C#代码段-从URL下载图像 。 然后,一旦将图像保存在内存中,便可以将其绑定到PictureBox。
另外,请记住,由于BitMap类不支持URI , 因此此答案中显示的最简单方法对您不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.