2010-12-21 18 views
2

我試圖刪除與方法的圖像的圖像: (文件路徑是正確的100%)delete一個在運行時

if(File.Exists(filePath)) 
    File.Delete(filePath); 

,我收到以下異常:

類型 'System.IO.IOException' 的未處理的異常出現在mscorlib.dll

附加信息:過程不能訪問該文件「C:\ visual_programming \ YAD2 \ YAD2 \ BIN \調試\圖像\ 1。 jpg',因爲它是被另一個進程使用。

+0

你試過手動刪除它?你能確認它沒有被使用嗎? – ColinE 2010-12-21 11:33:40

+0

如果您通過腳本創建了img,請確保首先關閉文件處理程序。 – Ency 2010-12-21 11:34:58

+0

我曾嘗試手動刪除和我沒有問題,手動刪除 – 2010-12-21 11:52:19

回答

2

這對於那些直接綁定到Image控件ImageSource的圖像的共同課題。你應該通過創建和的BitmapImage設置BitmapImage.CacheOption屬性的ImageSource到BitmapCacheOption.OnLoad:

BitmapImage bi = new BitmapImage(); 

// Begin initialization. 
bi.BeginInit(); 

// Set properties. 
bi.CacheOption = BitmapCacheOption.OnLoad; 
// 
bi.EndInit(); 

More Details about BitmapImage.CacheOption on MSDN

+0

鼓掌!加工 – 2010-12-21 12:25:22

1

它告訴你什麼是錯的;另一個進程正在訪問該文件。

here一些建議,以你如何識別過程。

+0

我知道大概的過程是Visual Studio,但我不知道爲什麼,當我打開圖片,並把它轉換成圖像我怎樣才能處理它 這樣我就可以從文件中刪除它? – 2010-12-21 12:18:18