2013-06-11 140 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

首先,当我们想要一个修改后的图像文件时,我们必须首先保存图像 文件,通过调用该函数中的保存方法来覆盖。

保存时也会巧妙地做一些事情,比如创建该原始图像文件的副本,然后修改该复制的文件,然后保存该文件,以便当您再次访问该图像文件时,您可以获取该修改后的文件+原始文件。因为有时原始文件会被修改。