Visibility.Collapsed
和 Visibility.Hidden
在 WPF 中有什么区别?
Visibility.Collapsed
和 Visibility.Hidden
在 WPF 中有什么区别?
Visibility.Hidden
隐藏控件,但保留其在布局中占用的空间。因此,它会渲染空格而不是控件。
Visibility.Collapsed
不会呈现控件,也不保留空白。控件占用的空间被“折叠”,因此得名。可见性:隐藏 vs 折叠
考虑下面的代码,它只显示三个标签
并将第二个Label
的visibility
设置为Collapsed
:
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Center">
<StackPanel.Resources>
<Style TargetType="Label">
<Setter Property="Height" Value="30" />
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="1" />
</Style>
</StackPanel.Resources>
<Label Width="50" Content="First"/>
<Label Width="50" Content="Second" Visibility="Collapsed"/>
<Label Width="50" Content="Third"/>
</StackPanel>
输出折叠:
现在将第二个标签(Label)
的可见性(visibility)
改为隐藏(Hidden)
。
<Label Width="50" Content="Second" Visibility="Hidden"/>
输出隐藏:
就是这么简单。