Ich habe Bilddateien (PNG) von meinem GridView als Teil seiner DataTemplate verwendet. Wenn ich versuche, eine bestimmte Objektzeile in meiner GridView zu löschen, würde ich auch die zugehörige Bilddatei für diese Zeile löschen. Die Bilder sind für jedes Element auf der Liste unterschiedlich.Zugriff verweigert beim Löschen von Bilddateien zuvor in DataTemplate in WinRT verwendet
ich diesen Code bin mit der Bilddatei
StorageFile _file = await DataStore.GetFileAsync(filename);
await _file.DeleteAsync(StorageDeleteOption.Default);
Die Bilddatei auf dem Gridview gerendert unter der Datatemplate des Gridview ist zu löschen. Also habe ich in jedem Objektmodell in meiner Liste eine öffentliche Eigenschaft, die eine ImageSource für meine DataTemplate zurückgibt.
Ich rufe meine Löschprozedur direkt nach dem Löschen der Objektzeile aus der Liste und nachdem die GridView von den neuen Listelementen aktualisiert wurde.
Obwohl die Liste das Objekt (das das Bild verbraucht) nicht mehr enthält, löst die Anwendung die Ausnahme Zugriff verweigert aus, wenn ich versuche, die Datei zu löschen. Wenn ich während der Ausführung der App versuche, diese bestimmte Datei manuell zu löschen (über den Datei-Explorer), wird es mir auch nicht erlauben.
Ich habe versucht, alle nicht verwendeten Objekte in meiner App zu löschen, sogar die ItemSource der GridView auf null und die Liste auf null zu setzen, bevor ich das Bild lösche. Die Ausnahme bleibt bestehen.
Vielen Dank im Voraus.
Dank @Kinect_dev, aber ich bekomme immer noch den Fehler, wenn ich Ihren Vorschlag ausprobiert. – King