Wpf 用户控件以显示16x16或32x32图像

Wpf 用户控件以显示16x16或32x32图像,wpf,binding,size,Wpf,Binding,Size,我有一个控件,可以从多个PNG文件中汇编最终图像。根据绑定到控件的项状态选择各个png文件。i、 e.覆盖-但这一切都很好 每个图像文件创建为两种尺寸16x16和32x32(即,类似图标) 从VS设计器(或代码)中,我希望用户能够指定他们想要的是16x16还是32x32版本。所以我添加了一个依赖属性ImgSize。我把它设为int,所以我可以把它设为16或32。所以这个控件的用户只需要XAMLs <xyz:thisControl ImgSize="32"/> DataConte

我有一个控件,可以从多个PNG文件中汇编最终图像。根据绑定到控件的项状态选择各个png文件。i、 e.覆盖-但这一切都很好

每个图像文件创建为两种尺寸16x16和32x32(即,类似图标)

从VS设计器(或代码)中,我希望用户能够指定他们想要的是16x16还是32x32版本。所以我添加了一个依赖属性ImgSize。我把它设为int,所以我可以把它设为16或32。所以这个控件的用户只需要XAMLs

<xyz:thisControl ImgSize="32"/>

DataContext提供所有绑定细节

我希望用户控件的宽度和高度自动设置为相应的图像大小。因此,像这样绑定是有意义的:

<UserControl x:Class="...
    Width="{Binding Path=ImgSize}"
    Height="{Binding Path=ImgSize}"

为什么不使用UserControl的内置宽度和高度


默认情况下,这些属性是可绑定的

更直接的说法是,我希望控件有两种大小(通过dependency属性设置)。当控件在设计器中使用时(比如在堆栈面板中),它将被相应地格式化。是的,我可以推断在转换器中加载哪个大小的图像-传入ActualSize作为参数或其他东西。--我想(最终)从用户/应用程序中删除尺寸细节,然后ImgSize将是小、中、大、XL。如果“Small”从16x16更改为20x20,则所有代码都不会在意。但我总是超越自己——谢谢!