Sau*_*ron 274 wpf visibility wpf-controls
WPF Visibility.Collapsed和Visibility.HiddenWPF 之间有什么区别?
Raz*_*zie 413
不同之处在于Visibility.Hidden隐藏了控件,但保留了它在布局中占用的空间.因此它呈现空白而不是控件.
Visibilty.Collapsed不渲染控制和不保留空白.控制所采取的空间是"崩溃",因此得名.
来自MSDN的确切文本:
折叠:不显示元素,也不在布局中为其预留空间.
隐藏:不显示元素,但为布局中的元素保留空间.
可见:显示元素.
请参阅:http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx
Kyl*_*Ren 53
可见性:隐藏的Vs崩溃
考虑下面的代码仅示出了three Labels与具有第二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>
Run Code Online (Sandbox Code Playgroud)
输出折叠:
现在改变第二Label visibility对Hiddden.
<Label Width="50" Content="Second" Visibility="Hidden"/>
Run Code Online (Sandbox Code Playgroud)
输出隐藏:
就如此容易.
即使有点老线程,对于那些仍在寻找差异的人:
除了在隐藏中拍摄的布局(空格)而不是在折叠中拍摄时,还有另一个区别.
如果我们在这个'Collapsed'主控件中有自定义控件,下次我们将它设置为Visible时,它将"加载"所有自定义控件.窗口启动时不会预加载.
对于"隐藏",它将加载所有自定义控件+主控件,我们在"窗口"启动时将其设置为隐藏.
| 归档时间: |
|
| 查看次数: |
119216 次 |
| 最近记录: |