首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义图片框中的图像不会刷新

自定义图片框中的图像不会刷新
EN

Stack Overflow用户
提问于 2012-05-09 23:15:10
回答 1查看 6.3K关注 0票数 4

我的自定义图片框包含一个滚动查看器和一个图像。类型为string的依赖属性image用于设置图像。

代码语言:javascript
复制
public static DependencyProperty ImageProperty = DependencyProperty.Register(
"Image", typeof(string), typeof(CustomPictureBox), new FrameworkPropertyMetadata("", new  PropertyChangedCallback(OnImageChanged)));


private static void OnImageChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
  CustomPictureBox cpb = (CustomPictureBox)d;
  if (e.Property == ImageProperty)
  {
    string newvalue = e.NewValue as string;
    if (!(string.IsNullOrEmpty(newvalue)))
    {
      var bmp = new BitmapImage();
      bmp.BeginInit();
      bmp.UriSource = new Uri(newvalue);
      bmp.CacheOption = BitmapCacheOption.OnLoad;
      bmp.EndInit();

      cpb.imgPicture.Source = bmp;
    }
    else
      cpb.imgPicture.Source = null;
  }
}

通过帧采集器获取图像,并将其存储到名为"camera_image.tif“的给定位置。Image属性设置为此文件名。当我开始新的图像采集时,我通过绑定将image属性设置为null,并且图片框更新为不显示任何图像。当图像采集完成后,我再次将其设置为"camera_image.tif“。问题是新的图像永远不会出现。相反,它始终是显示在图片框中的第一个获取的图像。当我检查图像文件时,它包含了新的内容。

如何让图片框刷新图像?

致以敬意,

塔比娜

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-11 18:16:02

我在这里找到了答案:

Reloading an image in wpf和这里。WPF Image.Source caching too aggressively

代码语言:javascript
复制
bmp.CacheOption = BitmapCacheOption.OnLoad;
bmp.CreateOptions = BitmapCreateOptions.IgnoreImageCache;

就是我要找的解决方案!

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10518986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档