在屏幕上呈现的背景图像的XAML事件

时间:2012-04-04 21:37:41

标签: xaml windows-8 microsoft-metro windows-runtime

我正在使用Uri在我的XAML网格上设置背景图像。 Uri指向一个HTTP URL,它将获取,然后将图像渲染为Win8 metro应用程序的背景。

我一直试图弄清楚是否有一个事件或者我可以挂钩的东西让我知道WPF已经将它加载到内存中,并完成了将其渲染出来。

目前,小图像加载速度足够快,并且平滑淡入。但是,如果我加载较大,较慢的图像,则需要100秒的时间才能显示为背景,这意味着它会弹出中间位置 - 褪色,或褪色效果完成后。这看起来很差。

我们的目标是在应用页面之间进行淡入淡出过渡(我已经有了这个过程),不会出现背景图像不一致的情况。

欢迎任何建议。

2 个答案:

答案 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