DpiPrescaleThemedImageSourceConverter Class

Definition

Converts an ImageSource into another ImageSource. If the input image is a BitmapSource, the transformed BitmapSource has its halo color mapped to the given background color and is conditionally rendered as disabled. The resulting image is then pre-scaled on High DPI to the largest zoom multiple of 100% smaller than the DPI zoom. This converter chains the behavior of ThemedImageSourceConverter and DpiPrescaleImageSourceConverter.

public ref class DpiPrescaleThemedImageSourceConverter : Microsoft::VisualStudio::Imaging::Dpi::DpiPrescaleThemedImageSourceConverter
[Windows::Foundation::Metadata::WebHostHidden]
class DpiPrescaleThemedImageSourceConverter : Microsoft::VisualStudio::Imaging::Dpi::DpiPrescaleThemedImageSourceConverter
public class DpiPrescaleThemedImageSourceConverter : Microsoft.VisualStudio.Imaging.Dpi.DpiPrescaleThemedImageSourceConverter
type DpiPrescaleThemedImageSourceConverter = class
    inherit DpiPrescaleThemedImageSourceConverter
Public Class DpiPrescaleThemedImageSourceConverter
Inherits DpiPrescaleThemedImageSourceConverter
Inheritance

Remarks

A common usage pattern can look like this:

<imaging:DpiPrescaleThemedImageSourceConverter x:Key="DpiPrescaleThemedImageSourceConverter" />  
....  
    <Image UseLayoutRounding="True" SnapsToDevicePixels="True" Width="16" Height="16">  
        <Image.Source>    
            <MultiBinding Converter="{StaticResource DpiPrescaleThemedImageSourceConverter}">  
                <Binding Path="Icon" />  
                <Binding Path="(imaging:ImageThemingUtilities.ImageBackgroundColor)" RelativeSource="{RelativeSource Self}" />  
                <Binding Source="{x:Static utilities:Boxes.BooleanTrue}" />  
        </MultiBinding>  
    </Image.Source>  

Where the image dimensions aren't known at compile time, instead of specifying exact Width/Height properties, a layout transform can be specified on the image like this:

<Image.LayoutTransform>  
    <ScaleTransform ScaleX="{x:Static util:DpiHelper.Default.PreScaledImageLayoutTransformScaleX}" ScaleY="{x:Static util:DpiHelper.Default.PreScaledImageLayoutTransformScaleY}" />  
</Image.LayoutTransform>  

Note that when using image pre-scaling, either the original image size has to be specified, or a reverse layout transform has to be applied to the result, to maintain the desired original image size.

Constructors

DpiPrescaleThemedImageSourceConverter()

Initializes a new instance of DpiPrescaleThemedImageSourceConverter.

Properties

DpiHelper

Gets an instance of the DpiHelper.

Methods

CheckValue<T>(Object[], Int32, String) (Inherited from MultiValueConverterBase<TTarget>)
Convert(ImageSource, Color, Boolean, Object, CultureInfo)

Converts the image.

(Inherited from DpiPrescaleThemedImageSourceConverter)
Convert(Object[], Type, Object, CultureInfo)

Microsoft internal use only.

(Inherited from MultiValueConverter<T1,T2,T3,TTarget>)
Convert(T1, T2, T3, Object, CultureInfo)

Microsoft internal use only.

(Inherited from MultiValueConverter<T1,T2,T3,TTarget>)
ConvertBack(Object, Type[], Object, CultureInfo)

Microsoft internal use only.

(Inherited from MultiValueConverter<T1,T2,T3,TTarget>)
ConvertBack(TTarget, T1, T2, T3, Object, CultureInfo)

Microsoft internal use only.

(Inherited from MultiValueConverter<T1,T2,T3,TTarget>)
ConvertBackCore(Object, Type[], Object, CultureInfo) (Inherited from MultiValueConverter<T1,T2,T3,TTarget>)
ConvertCore(Object[], Type, Object, CultureInfo) (Inherited from MultiValueConverter<T1,T2,T3,TTarget>)
MakeConverterFunctionNotDefinedException(String)

An exception thrown when the converter function isn’t defined.

(Inherited from MultiValueConverterBase<TTarget>)
ValidateConvertBackParameters(Object, Type[])

Validates the parameters passed to IMultiValueConverter.ConvertBack.

(Inherited from MultiValueConverterBase<TTarget>)
ValidateConvertParameters(Object[], Type)

Validates the parameters passed to IMultiValueConverter.Convert.

(Inherited from MultiValueConverterBase<TTarget>)

Applies to