1
如何更新(替換)綁定到導航堆棧中的圖像控件的本地存儲器中的映像?WinRT訪問衝突複製本地存儲器中的文件
更具體地:我表示頁A(ViewProfile.xaml)與綁定到視圖模型的屬性ImageSource
圖像源的圖像使用
ImageSource= "ms-appdata:///local/image.jpg";
設置爲在第二頁B( EditProfile.xaml),我想再次顯示圖像並給用戶選擇改變它,例如通過更換使用
StorageFolder destinationFolder = ApplicationData.Current.LocalFolder;
await profileImage.CopyAsync(destinationFolder, "image.jpg", NameCollisionOption.ReplaceExisting);
更改後的圖像的文件將被顯示在頁面B,然後網頁A,當用戶返回到它在後面堆棧。
CopyAsync()
失敗,未經授權的訪問衝突。我的理解是綁定第一頁上的圖像有效地鎖定了文件,因此無法更改。由於頁面A實際上並沒有對圖像進行任何處理,除非顯示它,並且在更新後可能重新加載它,因此不需要鎖定文件。
在Windows 8.1(WinRT)手機應用程序中解決此問題的正確方法是什麼?
謝謝你的回答。這兩個頁面中的控件都綁定到相應的(Prism)ViewModel的各個屬性。屬性更改事件由設置者觸發。我現在在第一頁視圖模型的OnNavigatedFrom()方法中設置了'ImageSource = null',並在'OnNavigatedTo()'中返回到圖像文件。仍然獲得未經授權的訪問例外。我是否正確應用了您的建議? – jerry 2015-03-19 16:19:47