BitmapSource Class


Provides a source object for properties that use a bitmap-format image source.

Equivalent WinUI class: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.

public ref class BitmapSource : ImageSource
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class BitmapSource : ImageSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public class BitmapSource : ImageSource
Public Class BitmapSource
Inherits ImageSource
Object IInspectable DependencyObject ImageSource BitmapSource

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)



You don't typically use or create a BitmapSource type directly, that's why you don't see code examples on this page. It's more common to create a BitmapImage and use that as a value. For code examples and more info, see the reference page for BitmapImage.

ImageSource and BitmapSource are intermediate base classes for BitmapImage. For more info on how to create an image source to use for Image.Source and ImageBrush.ImageSource, see Image and ImageBrush and BitmapImage.

BitmapSource derived classes

BitmapSource is the parent class for BitmapImage and WriteableBitmap.



Provides base class initialization behavior for BitmapSource -derived classes.



Gets the CoreDispatcher that this object is associated with. The CoreDispatcher represents a facility that can access the DependencyObject on the UI thread even if the code is initiated by a non-UI thread.

Equivalent WinUI property: Microsoft.UI.Xaml.DependencyObject.Dispatcher.

(Inherited from DependencyObject)

Gets the height of the bitmap in pixels.

Equivalent WinUI property: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.PixelHeight.


Identifies the PixelHeight dependency property.

Equivalent WinUI property: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.PixelHeightProperty.


Gets the width of the bitmap in pixels.

Equivalent WinUI property: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.PixelWidth.


Identifies the PixelWidth dependency property.

Equivalent WinUI property: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.PixelWidthProperty.



Clears the local value of a dependency property.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.ClearValue.

(Inherited from DependencyObject)

Returns any base value established for a dependency property, which would apply in cases where an animation is not active.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.GetAnimationBaseValue.

(Inherited from DependencyObject)

Returns the current effective value of a dependency property from a DependencyObject.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.GetValue.

(Inherited from DependencyObject)

Returns the local value of a dependency property, if a local value is set.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.ReadLocalValue.

(Inherited from DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registers a notification function for listening to changes to a specific DependencyProperty on this DependencyObject instance.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback.

(Inherited from DependencyObject)

Sets the source image for a BitmapSource by accessing a stream. Most callers should use SetSourceAsync instead.

Equivalent WinUI method: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.SetSource.


Sets the source image for a BitmapSource by accessing a stream and processing the result asynchronously.

Equivalent WinUI method: Microsoft.UI.Xaml.Media.Imaging.BitmapSource.SetSourceAsync.

SetValue(DependencyProperty, Object)

Sets the local value of a dependency property on a DependencyObject.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.SetValue.

(Inherited from DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancels a change notification that was previously registered by calling RegisterPropertyChangedCallback.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.UnregisterPropertyChangedCallback.

(Inherited from DependencyObject)

Applies to

See also