在开始构建自己的控件之前,我阅读了一些关于在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>
实际上是否有必要专门定义图像宽度和高度?
由于
答案 0 :(得分:1)
你不需要,但如果你不这样做,图像只会占据自己的高度和宽度(或者整个可用空间,如果它更低),可能是1920x1080并占据整个空间。
在容器上修改
大多数容器会拉伸它并使图像填满整个空间(根据最小的方向)。有些像StackPanel一样只会根据其Orientation属性。画布不会调整任何大小,图像将采用自己的大小。