BitmapCacheOption BitmapCacheOption BitmapCacheOption BitmapCacheOption Enum


Specifies how a bitmap image takes advantage of memory caching.

public enum class BitmapCacheOption
public enum BitmapCacheOption
type BitmapCacheOption = 
Public Enum BitmapCacheOption


Default Default Default Default 0

Caches the entire image into memory. This is the default value.

None None None None 2

Do not create a memory store. All requests for the image are filled directly by the image file.

OnDemand OnDemand OnDemand OnDemand 0

Creates a memory store for requested data only. The first request loads the image directly; subsequent requests are filled from the cache.

OnLoad OnLoad OnLoad OnLoad 1

Caches the entire image into memory at load time. All requests for image data are filled from the memory store.


The following code example demonstrates how to load a BitmapImage and specify the BitmapCacheOption.

// Define a BitmapImage.
Image myImage = new Image();
BitmapImage bi = new BitmapImage();

// Begin initialization.

// Set properties.
bi.CacheOption = BitmapCacheOption.OnDemand;
bi.CreateOptions = BitmapCreateOptions.DelayCreation;
bi.DecodePixelHeight = 125;
bi.DecodePixelWidth = 125;
bi.Rotation = Rotation.Rotate90;
bi.UriSource = new Uri("smiley.png", UriKind.Relative);

// End initialization.
myImage.Source = bi;
myImage.Stretch = Stretch.None;
myImage.Margin = new Thickness(5);
' Define a BitmapImage.
Dim myImage As New Image()
Dim bi As New BitmapImage()

' Begin initialization.

' Set properties.
bi.CacheOption = BitmapCacheOption.OnDemand
bi.CreateOptions = BitmapCreateOptions.DelayCreation
bi.DecodePixelHeight = 125
bi.DecodePixelWidth = 125
bi.Rotation = Rotation.Rotate90
bi.UriSource = New Uri("smiley.png", UriKind.Relative)

' End initialization.
myImage.Source = bi
myImage.Stretch = Stretch.None
myImage.Margin = New Thickness(5)

Applies to

See also