如何使UIElement在向上折叠后显示

本文关键字:折叠 显示 何使 UIElement | 更新日期: 2023-09-27 18:28:02

在我的表单上,我有一个TextBlock元素,它最初是折叠的。(TextBlock.Visibility = Visibility.Collapsed)。当出现错误时,应该显示。当我使用TextBlock.Visibility = Visibility.Show时,位于TextBlock下的所有控件都在下降。

问题:如何将位于该TextBlock下方的所有元素停靠在一起,以便在显示TextBlock的情况下提升上部元素?

如何使UIElement在向上折叠后显示

实现这一点的一种方法是战略性地使用VerticalAlignment属性。请考虑以下片段。如果这个堆叠板在一个有生长空间的容器中,它就会向上生长。当你在中间文本块上切换可见性时,它会将元素推到它上面。
<StackPanel VerticalAlignment="Bottom">
    <TextBlock>I shift upward</TextBlock>
    <TextBlock Visibility="Collapsed">Error message here</TextBlock>
    <TextBlock>I stay put</TextBlock>
</StackPanel>

我不确定你的问题到底是什么,但如果你不希望其他控件在TextBlock可见时移动,那么它应该从Visibility.Hidden开始。