在我的applikation中动态加载图片时遇到了很大的问题。当我开始applikation时,占位符图像源为空。当我点击一个按钮时,会创建一个图像并将其作为占位符源加载。当我再次点击时,会创建一个新图像,但会显示旧图像。图像的创建非常完美。我磁盘上的文件应该是文件。
以下功能是设置图像占位符的来源。
public void setImage(string path)
{
BitmapImage img = new BitmapImage();
img.BeginInit();
img.UriSource = new Uri(path, UriKind.Relative);
img.EndInit();
//Set Refreshing Options
img.CacheOption = BitmapCacheOption.None;
img.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
placeholder.Source = img;
}
BitmapCacheOption和BitmapCreateOptions这两个选项不会改变任何内容。
你们有人可以帮助我吗?
答案 0 :(得分:0)
出于性能原因,WPF会在内部缓存图像。如果你两次都使用相同的Uri,并且希望每次都能获得不同的图像(例如,如果Uri位于返回随机图像的Web服务器上),那么这个缓存将是一个问题。 / p>
您可能需要创建一个WebRequest并手动下载图像,而不是依赖Image类来为您完成。
另一种选择是以简单的方式改变Uri,使其独一无二。例如,您可以将GUID附加为查询字符串。