2012-04-04 88 views
1

我正在使用Uri在我的XAML Grid上設置背景圖像。 Uri指向一個HTTP網址,在那裏它將獲取,然後渲染圖像作爲Win8 metro應用程序的背景。背景圖像渲染出XAML事件屏幕

我一直想弄清楚是否有事件或我可以掛鉤讓我知道WPF已經加載到內存中,並完成渲染它的視圖。

目前,小圖像的加載速度足夠快,並且平滑淡入。但是,如果我加載較大,較慢的圖像,則需要100 ms才能顯示爲背景,這意味着它會在中間彈出淡出,或淡出效果完成後。這看起來很差。

我們的目標是在應用程序頁面之間進行淡入淡出(我已經有了這個),而不會在每次完成時彈出背景圖像的不一致性。

任何建議都會受到歡迎。

+0

它是WPF XAML或/ WinRT中(又名地鐵)?不一樣。 – jv42 2012-04-06 08:21:37

+0

對不起,這是XAML/WinRT。 – 2012-04-15 03:32:46

回答

3

您不會確切說明您如何加載圖像,但BitmapImage上有一個DownloadCompleted事件,例如,

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

像菲爾說,但隨後的Windows Store應用程序:

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

ImageOpened當圖像源下載和使用無故障解碼 發生。在渲染之前,您可以使用此事件來確定圖像的大小。

來源:MSDN