隐藏项目时,如何动态地将剩余的堆栈面板元素垂直居中



假设我有一个带有两个文本块的堆栈面板,一个在另一个之上。 它们水平居中。 但是我想隐藏其中一个文本块,我希望剩余项目根据剩余空间垂直居中(就好像它是唯一的项目一样)。 这可能吗?

            <StackPanel Grid.Row="0" >
                <TextBlock Text="Testing!" HorizontalAlignment="Center" FontSize="35">
                </TextBlock>
                <TextBlock  Text="test" HorizontalAlignment="Center" FontSize="25">
                </TextBlock>
            </StackPanel>

我所知,仅通过StackPanel相关的问题无法实现这一目标:如何在 StackPanel 内垂直对齐文本框?

尝试将StackPanel包裹在固定高度的容器中(容器的高度与内容物的高度无关)。然后将StackPanelVerticalAlignment 属性设置为 Center,使其(及其内容)在父容器中居中。例如:

<Grid Height="100">
    <StackPanel VerticalAlignment="Center">
        <TextBlock Text="Testing!" FontSize="35"/>
        <TextBlock Text="test"/>
    </StackPanel>
</Grid>

最新更新