VB.Net使用带有图片框的数据绑定

时间:2013-09-26 21:36:59

标签: vb.net image controls datarepeater

数据表中的一行称为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

2 个答案:

答案 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.中显示的最简单的方法对您不起作用