我正在使用Uri在我的XAML网格上设置背景图像。 Uri指向一个HTTP URL,它将获取,然后将图像渲染为Win8 metro应用程序的背景。
我一直试图弄清楚是否有一个事件或者我可以挂钩的东西让我知道WPF已经将它加载到内存中,并完成了将其渲染出来。
目前,小图像加载速度足够快,并且平滑淡入。但是,如果我加载较大,较慢的图像,则需要100秒的时间才能显示为背景,这意味着它会弹出中间位置 - 褪色,或褪色效果完成后。这看起来很差。
我们的目标是在应用页面之间进行淡入淡出过渡(我已经有了这个过程),不会出现背景图像不一致的情况。
欢迎任何建议。
答案 0 :(得分:3)
你没有确切地说你是如何加载图像的,但BitmapImage上有一个DownloadCompleted事件,例如
BitmapImage bmp = new BitmapImage(imageUri);
bmp.DownloadCompleted += ReadyToDisplay;
答案 1 :(得分:0)
像Phil说的那样,但随后是Windows Store应用程序:
BitmapImage bmp = new BitmapImage(imageUri);
bmp.ImageOpened += ReadyToDisplay;
ImageOpened在下载和解码图像源时发生 没有失败。您可以使用此事件来确定 渲染之前的图像。
来源:MSDN