2009-09-29 21 views
9

Estoy intentando volver a cargar una imagen (System.Windows.Controls.Image) que visualizo en WPF. He establecido la fuente de la siguiente manera:Recarga de una imagen en wpf

ScreenAtco01Image.Source = new BitmapImage(new Uri(@"Y:/screenshots/naratco08-0-0-screenshot.png", UriKind.RelativeOrAbsolute)); 

me hizo un botón, lo que debería forzar una recarga de esta imagen (que cambia en el disco cada segundo).

He intentado restablecer la Fuente, pero eso no hace nada. Sin embargo, si cambio el Origen a una imagen diferente, esta imagen diferente sí se carga. Parece que algo está en la memoria caché?

Gracias por su ayuda.

Respuesta

23

encontrado una respuesta que funciona para mí:

BitmapImage _image = new BitmapImage(); 
_image.BeginInit(); 
_image.CacheOption = BitmapCacheOption.None; 
_image.UriCachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); 
_image.CacheOption = BitmapCacheOption.OnLoad; 
_image.CreateOptions = BitmapCreateOptions.IgnoreImageCache; 
_image.UriSource = new Uri(@"Y:/screenshots/naratco08-0-0-screenshot.png", UriKind.RelativeOrAbsolute); 
_image.EndInit(); 
ScreenAtco01Image.Source = _image; 
+0

Muchas gracias! Estuve luchando con esto yo mismo por un tiempo y eso acaba de llegar. Apostaría más si pudiera. –

+3

+1 ayudando a las personas 5 años en el futuro – Zenuka