DpiPrescaleThemedImageConverter 类

定义

注意

Use the Visual Studio image service and/or Microsoft.VisualStudio.Imaging.CrispImage instead.

将 ImageSource 转换为 Image 元素。 如果输入图像是 BitmapSource,转换后的 BitmapSource 会将其光晕颜色映射到给定背景色,并有条件地呈现为已禁用。 然后,生成的图像将在高 DPI 上预先缩放为小于 DPI 缩放的100% 的最大缩放比例。 此转换器链接 ThemedImageConverter 和 DpiPrescaleImageSourceConverter 的行为。

public ref class DpiPrescaleThemedImageConverter : Microsoft::VisualStudio::Imaging::Dpi::DpiPrescaleThemedImageConverter
[Windows::Foundation::Metadata::WebHostHidden]
class DpiPrescaleThemedImageConverter : Microsoft::VisualStudio::Imaging::Dpi::DpiPrescaleThemedImageConverter
public class DpiPrescaleThemedImageConverter : Microsoft.VisualStudio.Imaging.Dpi.DpiPrescaleThemedImageConverter
[System.Obsolete("Use the Visual Studio image service and/or Microsoft.VisualStudio.Imaging.CrispImage instead.")]
public class DpiPrescaleThemedImageConverter : Microsoft.VisualStudio.Imaging.Dpi.DpiPrescaleThemedImageConverter
type DpiPrescaleThemedImageConverter = class
    inherit DpiPrescaleThemedImageConverter
[<System.Obsolete("Use the Visual Studio image service and/or Microsoft.VisualStudio.Imaging.CrispImage instead.")>]
type DpiPrescaleThemedImageConverter = class
    inherit DpiPrescaleThemedImageConverter
Public Class DpiPrescaleThemedImageConverter
Inherits DpiPrescaleThemedImageConverter
继承
属性

注解

常见的使用模式可能类似于 this://////,其中图像维度在编译时未知,不要指定精确的宽度/高度属性,///可在 FrameworkElement 上指定布局转换(如 this://////)。请注意,使用图像预缩放时,必须指定原始图像大小,或者必须对结果应用反向布局转换,才能保持所需的原始图像大小

<imaging:DpiPrescaleThemedImageConverter x:Key="DpiPrescaleThemedImageConverter" />  
....  
<ControlTemplate x:Key="MyMenuItemTemplate" TargetType="{x:Type MenuItem}">  
    <ContentPresenter x:Name="Icon" Width="16" Height="16" ContentSource="Icon" />  
...  
</ControlTemplate>     
<Style x:Key="MyMenuItemStyleKey" TargetType="{x:Type MenuItem}">  
///        <Setter Property="Template" Value="{StaticResource MyMenuItemTemplate}" />  
    <Setter Property="Icon">  
        <Setter.Value>  
            <MultiBinding Converter="{StaticResource DpiPrescaleThemedImageConverter}">  
                <Binding Path="Image" />  
                <Binding Path="(imaging:ImageThemingUtilities.ImageBackgroundColor)" RelativeSource="{RelativeSource Self}" />  
                <Binding Source="{x:Static utilities:Boxes.BooleanTrue}" />  
            </MultiBinding>  
        </Setter.Value>  
    </Setter>  
</Style>  

如果在编译时图像尺寸未知,则可以在 FrameworkElement 上指定布局转换,如下所示:

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

请注意,使用图像预缩放时,必须指定原始图像大小,或者必须对结果应用反向布局转换,以维持所需的原始图像大小。

构造函数

DpiPrescaleThemedImageConverter()

初始化 DpiPrescaleThemedImageConverter 的新实例。

属性

DpiHelper

获取 DpiHelper 的实例。

方法

CheckValue<T>(Object[], Int32, String)

验证 values [ index ] 是否为类型 T

(继承自 MultiValueConverterBase<TTarget>)
Convert(ImageSource, Color, Boolean, Boolean, Object, CultureInfo) (继承自 DpiPrescaleThemedImageConverter)
Convert(ImageSource, Color, Boolean, Object, CultureInfo) (继承自 DpiPrescaleThemedImageConverter)
Convert(Object[], Type, Object, CultureInfo)

仅供 Microsoft 内部使用。

(继承自 MultiValueConverter<T1,T2,T3,TTarget>)
Convert(T1, T2, T3, Object, CultureInfo)

仅供 Microsoft 内部使用。

(继承自 MultiValueConverter<T1,T2,T3,TTarget>)
ConvertBack(Object, Type[], Object, CultureInfo)

仅供 Microsoft 内部使用。

(继承自 MultiValueConverter<T1,T2,T3,TTarget>)
ConvertBack(TTarget, T1, T2, T3, Object, CultureInfo)

仅供 Microsoft 内部使用。

(继承自 MultiValueConverter<T1,T2,T3,TTarget>)
ConvertBackCore(Object, Type[], Object, CultureInfo) (继承自 MultiValueConverter<T1,T2,T3,TTarget>)
ConvertCore(Object[], Type, Object, CultureInfo) (继承自 MultiValueConverter<T1,T2,T3,TTarget>)
MakeConverterFunctionNotDefinedException(String)

未定义转换器函数时引发的异常。

(继承自 MultiValueConverterBase<TTarget>)
ValidateConvertBackParameters(Object, Type[])

验证传递给 System.windows.data.imultivalueconverter> 的参数。 ConvertBack

(继承自 MultiValueConverterBase<TTarget>)
ValidateConvertParameters(Object[], Type)

验证传递给 System.windows.data.imultivalueconverter> 的参数

(继承自 MultiValueConverterBase<TTarget>)

适用于