2009-09-29 9 views
9

Ich versuche, ein Bild (System.Windows.Controls.Image) neu zu laden, das ich in WPF zeige. Ich habe die Quelle wie folgt aus:Bild in WPF neu laden

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

ich einen Knopf gemacht, die ein erneutes Laden dieses Bildes zwingen sollte (es ändert sich auf der Festplatte jede Sekunde).

Ich habe versucht, die Quelle zurückzusetzen, aber das tut nichts. Wenn ich jedoch die Quelle zu einem anderen Bild ändere, wird dieses andere Bild geladen. Es scheint so, als ob etwas zwischengespeichert wird?

Danke für Ihre Hilfe.

Antwort

23

eine Antwort gefunden, die für mich funktioniert:

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

Vielen Dank! Ich habe ein bisschen mit dem selbst gekämpft und das hat es einfach geschafft. Ich würde mehr aufbieten, wenn ich könnte. –

+3

+1 helfen Menschen 5 Jahre in der Zukunft – Zenuka