将图像添加到按钮时,必须定义图像的宽度和高度

时间:2014-12-22 18:58:23

标签: wpf user-controls

在开始构建自己的控件之前,我阅读了一些关于在wpf中构建用户控件的教程。其中许多都围绕创建基于标准按钮的控件,其中包含添加图像和自定义文本的功能。其中大多数似乎也主动定义图像尺寸并将它们绑定到依赖属性,因此您最终可能会得到像这样的xaml;

 <Button Background="#00000000" x:Name="MyBtn" Height="Auto" Width="Auto" ToolTip="Click me to do something." BorderThickness="0">
        <StackPanel Margin="2" Orientation="Horizontal">
            <Image Source="{Binding ImageName, ElementName=DN}"
                   Width="{Binding ImageWidth, ElementName=DN}"
                   Height="{Binding ImageHeight, ElementName=DN}"/>
            <TextBlock Margin="3" Text="{Binding BtnText,ElementName=DN}"/>
        </StackPanel>
        </Button>

实际上是否有必要专门定义图像宽度和高度?

由于

1 个答案:

答案 0 :(得分:1)

你不需要,但如果你不这样做,图像只会占据自己的高度和宽度(或者整个可用空间,如果它更低),可能是1920x1080并占据整个空间。

在容器上修改

大多数容器会拉伸它并使图像填满整个空间(根据最小的方向)。有些像StackPanel一样只会根据其Orientation属性。画布不会调整任何大小,图像将采用自己的大小。