Laden...

Nach dem Laden eines Bildes das Verzeichnis freigeben

Erstellt von HB-Mänla vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.476 Views
H
HB-Mänla Themenstarter:in
5 Beiträge seit 2016
vor 7 Jahren
Nach dem Laden eines Bildes das Verzeichnis freigeben

Hallo zusammen,

ich hoffe ich bin hier richtig.

Also ich habe folgendes Problem:

  • ich lade ein Bild in ein Image

Code:

                        //Image myImage3 = new Image();
                        BitmapImage bi3 = new BitmapImage();
                        bi3.BeginInit();
                        bi3.UriSource = new Uri(path + "/" + sC, UriKind.Absolute);
                        bi3.EndInit();
                        img_Bild.Source = bi3;
                        img_BildToolTip.Source = bi3;
                        img_Bild.Tag = path + "/" + sC;
                        txb_Bild.Text = sC;

Das funktioniert soweit prima.

Nun möchte ich zu einem späteren Zeitpunkt das Verzeichnis in dem sich das Bild befindet umbenennen, das geht nicht, da der Zugriff auf das Verzeichnis nicht möglich ist.

Wenn ich das Bild nicht lade, ist das umbenennen des Verzeichnisses ohne Probleme möglich.

Was muss ich noch ändern um das Verzeichnis wieder "freizugeben"

Danke im voraus

mfg
HB-Mänla

16.834 Beiträge seit 2008
vor 7 Jahren

Bitte verwende wie jeder andere Forenbenutzer entsprechende Code-Tags im Editor.
[Hinweis] Wie poste ich richtig? Punkt 6

Image.Dispose-Methode

5.658 Beiträge seit 2006
vor 7 Jahren

Hi HB-Mänla,

du mußt die CacheOption-Eigenschaft auf BitmapCacheOption.OnLoad festlegen:

public static ImageSource BitmapFromUri(Uri source)
{
    var bitmap = new BitmapImage();
    bitmap.BeginInit();
    bitmap.UriSource = source;
    bitmap.CacheOption = BitmapCacheOption.OnLoad;
    bitmap.EndInit();
    return bitmap;
}

Ansonsten das, was Abt sagt.

Weeks of programming can save you hours of planning