屏幕外渲染背景图像的XAML事件

屏幕外渲染背景图像的XAML事件,xaml,windows-8,microsoft-metro,windows-runtime,Xaml,Windows 8,Microsoft Metro,Windows Runtime,我正在使用Uri在XAML网格上设置背景图像。Uri指向一个HTTP url,它将在那里获取图像,然后将图像作为Win8 metro应用程序的背景呈现 我一直在试图弄清楚是否有一个事件或一些我可以钩住的东西,让我知道WPF已经将它加载到内存中,并完成了渲染 目前,小图像加载速度足够快,并且平滑淡入。然而,如果我加载一个更大、更慢的图像,它需要100毫秒才能显示为背景,这意味着它要么在淡入淡出时弹出,要么在淡入淡出效果完成后弹出。这看起来很差 我们的目标是在应用程序页面之间进行淡入淡出过渡(我已经

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

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

目前,小图像加载速度足够快,并且平滑淡入。然而,如果我加载一个更大、更慢的图像,它需要100毫秒才能显示为背景,这意味着它要么在淡入淡出时弹出,要么在淡入淡出效果完成后弹出。这看起来很差

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


欢迎提供任何建议。

您没有确切说明如何加载图像,但BitmapImage上有一个DownloadCompleted事件,例如

BitmapImage bmp = new BitmapImage(imageUri); 
bmp.DownloadCompleted += ReadyToDisplay; 

正如Phil所说,但对于Windows应用商店应用程序:

BitmapImage bmp = new BitmapImage(imageUri);
bmp.ImageOpened += ReadyToDisplay;
ImageOpen在下载并解码图像源时发生 没有失败。您可以使用此事件来确定事件的大小 在渲染之前,请先创建图像

来源:

是WPF还是XAML/WinRT(又名Metro)?不一样。