能见度之间有什么区别?塌陷和能见度。隐藏在WPF中?
当前回答
一句话:隐藏控件仍然占用空间,而折叠控件则不会。
其他回答
一句话:隐藏控件仍然占用空间,而折叠控件则不会。
虽然有点老,但对于那些仍然在寻找差异的人来说:
除了在隐藏中采用的布局(空间)和在折叠中不采用的布局之外,还有另一个区别。
如果我们在这个“折叠”主控件中有自定义控件,下次我们将其设置为可见时,它将“加载”所有自定义控件。当窗口启动时,它不会预加载。
至于“隐藏”,它将加载所有自定义控件+主控件,当“窗口”启动时,我们设置为隐藏。
可见性:隐藏Vs折叠
考虑下面的代码,它只显示三个标签,并且有第二个标签可见性为collapse:
<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可见性更改为hidden。
<Label Width="50" Content="Second" Visibility="Hidden"/>
输出隐藏:
就这么简单。
区别在于能见度。Hidden隐藏控件,但保留其在布局中占用的空间。因此它呈现空白而不是控件。 羽毛。“折叠”不呈现控件,也不保留空白。控件所占用的空间是“折叠的”,因此得名。
MSDN的确切文本:
折叠:不显示该元素,也不在布局中为其保留空间。 隐藏:不显示元素,但在布局中为元素保留空间。 可见:显示元素。
参见:http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx