2013-06-11 145 views
0

我是WPF的新手,並且在修改文件時遇到了一些問題。動態更改圖像源

我有稱爲IMAGE1圖像控制,這是我以下列方式

 string fileName = "C:\\Users\\..\\myImage.jpg" 
     BitmapImage tmp = new BitmapImage(); 
     tmp.BeginInit(); 
     tmp.UriSource = new Uri(@fileName, UriKind.Absolute); 
     tmp.CacheOption = BitmapCacheOption.OnLoad; 
     tmp.EndInit(); 
     Image1.Source = tmp; 

這工作的第一次,但然後我運行它會覆蓋myImage.jpg的功能,在該點我把這種加載重新編碼,期待Image1更新。但是,GUI保持不變。它與cacheoption有什麼關係?我需要這樣才能覆蓋文件。

+4

谷歌上的第一個鏈接:http://stackoverflow.com/questions/1491383/reloading-an-image-in-wpf – Yogee

回答

0

首先,當我們想要一個修改後的圖像文件時,我們必須首先保存圖像 文件,通過調用該函數中的保存方法來覆蓋。

保存時也會巧妙地做一些事情,比如創建該原始圖像文件的副本,然後修改該複製的文件,然後保存該文件,以便當您再次訪問該圖像文件時,您可以獲取該修改後的文件+原始文件。因爲有時原始文件會被修改。