La imagen no se actualiza en el cuadro de imagen personalizado

Mi cuadro de imagen personalizado contiene un visor de desplazamiento y una imagen. Una propiedad de dependencia Imagen de tipo cadena se usa para establecer la imagen.

<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>

Una imagen se adquiere a través del capturador de fotogramas y se almacena en una ubicación determinada con el nombre "camera_image.tif". La propiedad de imagen se establece en este nombre de archivo. Cuando comienzo una nueva adquisición de imágenes, configuro la propiedad de Imagen mediante el enlace en nulo y el cuadro de imagen se actualiza para no mostrar ninguna imagen. Cuando finaliza la adquisición de la imagen, la configuro en "camera_image.tif" nuevamente. El problema es que la nueva imagen nunca aparece. En su lugar, siempre es la primera imagen adquirida que se muestra dentro del cuadro de imagen. Cuando verifico el archivo de imagen, contiene el nuevo contenido.

¿Cómo podría obtener el cuadro de imagen para actualizar la imagen?

Saludos,

tabina

Respuestas a la pregunta(1)

Su respuesta a la pregunta