A imagem não é atualizada na caixa de imagem personalizada

Minha caixa de imagem personalizada contém um visualizador de rolagem e uma imagem. Uma propriedade de dependência Imagem do tipo string é usada para definir a imagem.

<code>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;
  }
}
</code>

Uma imagem é adquirida via frame grabber e armazenada em um determinado local com o nome "camera_image.tif". A propriedade Image é configurada para este nome de arquivo. Quando inicio uma nova aquisição de imagem, defino a propriedade Image via binding como null e a caixa de imagem é atualizada para não mostrar imagem. Quando a aquisição da imagem estiver concluída, eu configuro novamente para "camera_image.tif". O problema é que a nova imagem nunca aparece. Em vez disso, é sempre a primeira imagem adquirida que é exibida na caixa de imagem. Quando eu verifico o arquivo de imagem, ele contém o novo conteúdo.

Como posso obter a caixa de imagem para atualizar a imagem?

Saudações,

tabina

questionAnswers(1)

yourAnswerToTheQuestion