2012-01-17 63 views
0

我正在加載要顯示在屏幕上並由用戶編輯的圖像,但我遇到了一些問題。BitmapImage完成加載硬盤上的文件後未觸發事件

BitmapImage包含一個事件DownloadCompleted所以我嘗試了它,它永遠不會被解僱。我懷疑這是因爲事件only fires if the file is on the internet

對於所有類型的位圖內容,可能不會引發此事件。

之後,我將位圖渲染到RenderTargetBitmap,所以我不能像我通常那樣設置Image.Source

有沒有什麼方法可以在位圖完成加載後(從硬盤驅動器)執行代碼?

編輯:

我剛剛測試了一下,發現BitmapImage甚至沒有開始下載圖像,直到我的初始化方法結束之後。

編輯:

我知道了使用Window.Activated事件的工作,但我仍然是開放的更好的方法,因爲這種方法是不是一個好一個。

+0

這是純粹的猜想,但是您是否嘗試將本地文件路徑轉換爲'file:// c/...'URI,而不是'c:\ ...'路徑? – 2012-01-17 01:47:58

+0

@ChrisShain我剛剛嘗試過它,它加載圖像,但它仍然不會引發事件。 – annonymously 2012-01-17 01:56:06

回答

1

你可以先檢查它是否爲IsDownloading,如果它是假的,它被加載,否則等待事件。

+0

我也試過,但問題是我不想每次更新都檢查它。 – annonymously 2012-01-17 01:42:46

+0

@匿名:爲什麼? – 2012-01-17 01:46:17

+0

這將是一個很好的備份,但我只想確保沒有更好的方法來做到這一點 – annonymously 2012-01-17 01:48:53