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