繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM