2008-10-26 105 views
3

我不明白...WPF BitmapImage的寬度/高度總是1?

BitmapImage img = new BitmapImage(myUri); 
Console.WriteLine("Width: {0}, Height: {1}", img.Width, img.Height); 

輸出: 「寬:1,身高:1」。

我試過PixelWidth/PixelHeight,我試過用BeginInit/EndInitPreservePixelFormat手動創建它...沒有任何效果。

(除,甚至wierder:這是一個過程的一部分在用戶點擊一個按鈕,一些圖像獲取下載好了,按鈕被點擊的時,它確實有非1寬度/ height。)

回答

4

第一次用戶點擊按鈕時,位圖還沒有被下載 - 所以你用它做的任何事情都會導致垃圾結果(除了顯示它,因爲Image控件知道如何處理這個) 。

您可以處理BitmapImage.DownloadCompleted事件以瞭解位圖何時可用。

+0

哇我不知道這是異步或者... – 2011-06-08 23:09:41