如何通知属性改变后,图像打开
本文关键字:图像 改变 属性 何通知 通知 | 更新日期: 2023-09-27 18:17:27
我的图库有一些问题。首先,我下载了所有的缩略图。但是当我点击一张图片时,首先我想显示缩略图并加载大图。完成后,我想将ImageSource更改为新图片。下面是我的例子:
private BitmapImage picture;
public BitmapImage Picture
{
get
{
if (picture == null)
{
RequestBigpicture();
return Thumbnail;
}
return picture;
}
}
public void RequestBigpicture()
{
picture = new BitmapImage(new Uri("http://www.fun-hollywood.de/" + bigPicture, UriKind.Absolute));
picture.ImageOpened += pictureImage_ImageOpened;
}
void pictureImage_ImageOpened(object sender, System.Windows.RoutedEventArgs e)
{
NotifyPropertyChanged("Picture");
}
这是不工作,这部分(正如我在某处读到的)在RequestBitPicture不是更好:
picture = new BitmapImage(new Uri("http://www.fun-hollywood.de/" + bigPicture, UriKind.Absolute));
var pictureImage = new Image();
pictureImage.Source = picture;
pictureImage.ImageOpened += pictureImage_ImageOpened;
ImageOpened永远不会被调用。最好的方法是什么?
我认为您应该将BitmapImage.CreateOptions
属性设置为None
或BackgroundCreation
,以立即触发图像下载。
因为默认值是DelayCreation
,所以映像不会下载,ImageOpened
事件也不会触发。