我有一个WPF应用程序,主要的布局是基于网格的。在Column中,我在stackpanel中有一个Image,但是源太大(垂直)。问题是,它被切割在父元素结束的底部。如果我调整窗口的大小,图像最终显示自己并保持在中心,这很好。但是,调整到右侧时,图像会调整大小,并使其父级下溢。我正在寻找一种方法:
这可能吗,不知何故?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel>
<Label Margin="10,20,10,0" Content="Name:" />
<TextBox Margin="10,0" Name="nameTextBox" TabIndex="0" FontSize="16" />
<Label Margin="10,20,10,0" Content="Pass:" />
<TextBox Margin="10,0" Name="passTextBox" TabIndex="1" FontSize="16" />
<Image Name="logoImage" Margin="10" Source="pics/icon.png"/>
</StackPanel>
</Grid>
答案 0 :(得分:1)
你想要这样的东西吗?
<DockPanel>
<StackPanel DockPanel.Dock="Top">
<Label Margin="10,20,10,0" Content="Name:" />
<TextBox Margin="10,0" Name="nameTextBox" TabIndex="0" FontSize="16" />
<Label Margin="10,20,10,0" Content="Pass:" />
<TextBox Margin="10,0" Name="passTextBox" TabIndex="1" FontSize="16" />
</StackPanel>
<Viewbox Stretch="Uniform" DockPanel.Dock="Bottom">
<Image Name="logoImage" Margin="10" Source="pics/text.png"/>
</Viewbox>
</DockPanel>
您需要从StackPanel中删除该图像,因为StackPanel将始终垂直增长与内容的高度一样多,然后您可以使用ViewBox