能见度之间有什么区别?塌陷和能见度。隐藏在WPF中?
区别在于能见度。Hidden隐藏控件,但保留其在布局中占用的空间。因此它呈现空白而不是控件。 羽毛。“折叠”不呈现控件,也不保留空白。控件所占用的空间是“折叠的”,因此得名。
MSDN的确切文本:
折叠:不显示该元素,也不在布局中为其保留空间。 隐藏:不显示元素,但在布局中为元素保留空间。 可见:显示元素。
参见:http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx
可见性:隐藏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"/>
输出隐藏:
就这么简单。
虽然有点老,但对于那些仍然在寻找差异的人来说:
除了在隐藏中采用的布局(空间)和在折叠中不采用的布局之外,还有另一个区别。
如果我们在这个“折叠”主控件中有自定义控件,下次我们将其设置为可见时,它将“加载”所有自定义控件。当窗口启动时,它不会预加载。
至于“隐藏”,它将加载所有自定义控件+主控件,当“窗口”启动时,我们设置为隐藏。
一句话:隐藏控件仍然占用空间,而折叠控件则不会。
推荐文章
- 如何通过名称或类型找到WPF控件?
- 文本框中的水印/提示/占位符文本?
- 打开目录对话框
- 能见度差异。塌陷和能见度。隐藏的
- ListBox vs. ListView -如何选择数据绑定
- 如何让控件在WPF填补可用的空间?
- Windows 8运行时(WinRT / Windows Store应用程序/ Windows 10通用应用程序)与Silverlight和WPF相比如何?
- 在代码中设置WPF图像源
- WPF全局异常处理程序
- INotifyPropertyChanged vs. ViewModel中的DependencyProperty
- 相当于jQuery .hide()设置可见性:hidden
- 自动垂直滚动条在WPF TextBlock?
- 在WPF中有等效的MessageBox吗?
- 多行WPF文本框
- 我如何得到一个文本框只接受数字输入在WPF?