0

我在隔离存储中存储了一些图像,我试图通过使用来替换它们

 using (IsolatedStorageFile isStore = IsolatedStorageFile.GetUserStoreForApplication()){
 if (isStore.FileExists(fileName)){
     isStore.DeleteFile(fileName);
 }
 using (IsolatedStorageFileStream targetStream = isStore.OpenFile(fileName, FileMode.Create, FileAccess.Write)){
   // Initialize the buffer for 4KB disk pages.
   byte[] readBuffer = new byte[4096];
   int bytesRead = -1;
   // Copy the thumbnail to the local folder. 
   while ((bytesRead = e.ImageStream.Read(readBuffer, 0, readBuffer.Length)) > 0){
      targetStream.Write(readBuffer, 0, bytesRead);
      targetStream.Close();
   }
}

现在,当我尝试访问新文件时,我最终看到了旧照片。新照片不会立即被替换。

但是当我关闭应用程序并再次获取它时,我得到了新照片。怎么了?

4

1 回答 1

0

我使用 ImageBrush 绘制背景网格,并且只绑定 ImageBrush 的 ImageSource。我猜这个 ImageBrush 没有得到更新,所以我没有更改 ImageBrush 的源,而是创建了一个新对象并将其分配给 Grid.Background。所以现在它可以工作了:)

于 2013-03-25T08:40:00.880 回答