为 LoadAsync 绑定带有 url 字符串的 PictureBox

Bind a PictureBox with a string of a url for LoadAsync

有没有办法将 PictureBox 绑定到字符串,以便当字符串发生变化时,它会调用 LoadAsync() 并加载字符串中的 url 并加载图像?

目前这是我在自动生成的代码中的内容。

this.itemImagePictureBox.DataBindings.Add(new System.Windows.Forms.Binding("Image", this.MySource, "ItemImage", true));

我想要的是:

this.itemImagePictureBox.DataBindings.Add(new System.Windows.Forms.Binding("String", this.MySource, "ImageUrl", true));

MySource 有一个 属性 用于 url 字符串,我也试图让它有一个 Image 的字段,但是 Bitmap例如没有加载异步功能,所以我仍然不能使用 url 字符串。

确保 WaitOnLoad property is false (default), thus enabling asynchronous image load, and then bind to ImageLocation 属性:

this.itemImagePictureBox.WaitOnLoad = false;
this.itemImagePictureBox.DataBindings.Add(new System.Windows.Forms.Binding(
    "ImageLocation", this.MySource, "ImageUrl", true));

一定要数据绑定吗?为什么不呢:

MyImage = new Bitmap(fileToDisplay);
itemImagePictureBox.Image = (Image) MyImage ;
await itemImagePictureBox.LoadAsync();
itemImagePictureBox.Refresh();

或者,如果图像是 URL:

Load an image from a url into a PictureBox