我想在我的MVVM WPF應用程序中顯示帶有URL源的圖像。 XAML中我用的是:WPF使用URL源緩存圖像
<ContentControl>
<Image Margin="5" Height="190" Source="{Binding CampaignMainImage}"/>
</ContentControl>
在我看來模型,我嘗試作爲string
和BitmapImage
既CampaignMainImage
結合這一點。在這兩種情況下,圖片來源均來自網址。這兩個工作,我的應用程序成功顯示圖像。
但是,在同一個應用程序中,我需要允許用戶上傳新圖像。我通過文件選擇和ftp上傳來做到這一點。我成功完成了上傳操作,並且看到了導致事件發生的斷點。
問題是,新圖像的名稱必須與舊圖像的名稱相同,並且WPF似乎正在緩存圖像。即使當我在應用程序中關閉該窗口並新建viewmodel
的實例時,仍會顯示舊圖像。當我關閉應用程序並再次運行時,會顯示新圖像。
我該如何阻止這種緩存行爲?
編輯:
提出的重複解決問題與綁定到BitmapImage
(視圖相關類型)。如下面的註釋中的Tseng所示,這是一個非MVVM解決方案,其中用於查看相關類型的數據綁定不會中斷模型。更具體地說,這個問題是如何在不破壞MVVM模式的情況下完成緩存行爲。
它已經在這裏回答:http://stackoverflow.com/questions/4137469/wpf-image-source-caching-too-aggressively – drcolombo
非常感謝。我一直在尋找這一段時間,不知何故沒有看到。 –
這個問題並不完全重複。這個問題用MVVM標記,鏈接的問題只是關於WPF。在ViewModel中使用'BitmapImage'違反了MVVM模式 – Tseng