0

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

2 回答 2

1

只需添加图片框属性 ImageLocation

ImgListItem.DataBindings.Add("ImageLocation", ListData, "FirstImage", True)
于 2016-07-29T08:19:51.533 回答
0

图像的数据绑定需要二进制图像数据,在这种情况下,您需要传递一个字符串。我们可以做的是将图像位置转换为绑定可以理解的格式。看看这个链接C# Code Snippet - Download Image from URL。然后,一旦您将图像放入内存中,您就可以将其绑定到您的 PictureBox。

另外,请记住,此答案中显示的最简单方法对您不起作用,因为BitMap 类不支持 URI。

于 2013-09-27T04:35:06.910 回答