假设我有一个带有两个文本块的堆栈面板,一个在另一个之上。 它们水平居中。 但是我想隐藏其中一个文本块,我希望剩余项目根据剩余空间垂直居中(就好像它是唯一的项目一样)。 这可能吗?
<StackPanel Grid.Row="0" >
<TextBlock Text="Testing!" HorizontalAlignment="Center" FontSize="35">
</TextBlock>
<TextBlock Text="test" HorizontalAlignment="Center" FontSize="25">
</TextBlock>
</StackPanel>
据
我所知,仅通过StackPanel
相关的问题无法实现这一目标:如何在 StackPanel 内垂直对齐文本框?
尝试将StackPanel
包裹在固定高度的容器中(容器的高度与内容物的高度无关)。然后将StackPanel
的 VerticalAlignment
属性设置为 Center
,使其(及其内容)在父容器中居中。例如:
<Grid Height="100">
<StackPanel VerticalAlignment="Center">
<TextBlock Text="Testing!" FontSize="35"/>
<TextBlock Text="test"/>
</StackPanel>
</Grid>