I use the following code to show images from a webserver:
<Image Source="{Binding Url}" />
The image gets automatically downloaded, and I assume there is also some caching based on the Url.
My problem is, that when the app is offline, the assumably cached images are not shown.
Is there any way to change the caching behavior, so that images are also loaded when there is no network available? Pointers to documentation regarding the caching would be very helpful as well.
BitmapImage
automatically caches remote images by default. It's best used in conjunction with CreateOptions="BackgroundCreation"
for the best performance.
<Image Height="100" Width="100" Margin="12,0,9,0">
<Image.Source>
<BitmapImage UriSource="{Binding ImgURL}" CreateOptions="BackgroundCreation"/>
</Image.Source>
</Image>
This MSDN blog post, old but still relevant, lists and explains all the CreationOptions
and that caching is automatic in most modes.
I use these options to display many news items with images and it works well. I can load the list of articles, exit the app and turn Flight Mode to On, then start a new instance of the app and the images still load up.
Manual Approach
If you'd like to control the caching yourself and cache HTTPS resources then there are few good examples...