我在wpf项目中有一个区域,应该通过链接显示图像。链接上的图像以一定的频率变化。我的代码:
string path1 = @"";//link from image
image_1.Source = null;
GC.Collect();
BitmapImage bi1 = new BitmapImage();
bi1.BeginInit();
bi1.CacheOption = BitmapCacheOption.OnLoad;
bi1.UriSource = new Uri(path1);
bi1.EndInit();
bi1.Freeze();
image_1.Source = bi1;
GC.Collect();
delete_old(path1);//delete file
这一切都发生在一个循环中,在image_1.Source = null
和分配新值之间的那一刻,图像消失了一段时间,看起来很糟糕。
我想图片从旧的到新的没有一个空白的屏幕,我没有找到其他方法来实现它。如果我不设置路径为空,那么图像只是不改变。
1条答案
按热度按时间xlpyo6sf1#
不确定“干净的架构”解决方案,但有一个变通方案可以使用。你可以创建2个
Image
控件,并在每次迭代中切换它们。开始时,您将有2个控件,一个可见,一个不可见:
现在,您可以修改代码,通过更新
Visibility
在控件之间切换: