C# 当方向=”时,按钮中的图像填充整个空间;垂直的;
我想制作一系列按钮(如按钮栏),如下所示:C# 当方向=”时,按钮中的图像填充整个空间;垂直的;,c#,wpf,C#,Wpf,我想制作一系列按钮(如按钮栏),如下所示: +----------+ +----------+ | (image) | | (image) | | | | | | text | | text | +----------+ +----------+ 我为XAML准备了以下内容: <StackPanel Orientation="Horizontal"> <Button Name=&q
+----------+ +----------+
| (image) | | (image) |
| | | |
| text | | text |
+----------+ +----------+
我为XAML准备了以下内容:
<StackPanel Orientation="Horizontal">
<Button Name="btnAddCompany" Width="60" Height="60" Background="Transparent" ToolTip="test" >
<StackPanel Orientation="Vertical">
<Image Source="/Images/LeftArrow25px.png"></Image>
<TextBlock Text="Left" Foreground="AntiqueWhite" HorizontalAlignment="Center" Width="50"/>
</StackPanel>
</Button>
</StackPanel>
当我将顶部StAdPad方向改变为水平时,中间StackPanel的图像占据整个按钮(它的大小被调整为拉伸)。我试过强制水平对齐和垂直对齐居中,但没有效果
有人知道这里发生了什么吗?当我们在“图像”控件的父容器中设置相同的宽度和高度时,会发生这种行为,“图像”控件会自动将图像拉伸到父容器的宽度。因此,任何大小的图像都将延伸到60x60,它将完全覆盖父容器和文本。将图像控件的“拉伸”设置为“均匀”或“无”也不会有任何帮助 我现在可以想到两个解决方案: 更改父容器的高度
//change Height = "60" to Height = "80" and you can observed the text come out.
<Button Name="btnAddCompany" Width="60" Height="80" Background="Transparent" ToolTip="test" >
//将Height=“60”更改为Height=“80”,就可以看到文本出来了。
控制图像控件的大小
<Image Source="/Images/LeftArrow25px.png" Height="32" Width="32" Stretch="Uniform"></Image>
两种解决方案都不太好,我今天想到更好的解决方案时会回来。。。(如果今天没有任何更新,则表示我失败;d)