C# 窗口可见性,折叠和隐藏
Posted
技术标签:
【中文标题】C# 窗口可见性,折叠和隐藏【英文标题】:C# Window Visibility, collapsed and hidden 【发布时间】:2013-11-08 06:29:13 【问题描述】:我有一个关于应用程序中窗口可见性的快速问题。根据... http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx(简称)
当窗口折叠时,不会为布局中的窗口保留空间。当窗口被隐藏时,布局中为窗口保留空间。
我在这里很困惑,布局指的是什么?是指窗口空间吗?
【问题讨论】:
只在wpf
中使用,winforms
不支持这种visibility
,因为布局支持不好。
该链接适用于 WPF Windows。我将标签更改为 WPF 而不是 Winforms
假设您翻阅了许多记录。您希望按钮基于某些属性可见或不可见。如果将其设置为折叠,则其他内容将移动,但如果将其设置为隐藏,则其他内容不会移动。在那种情况下,我通常会使用隐藏,这样 Window 内容就不会四处移动。
哇,谢谢大家的回复,谢谢大家!
【参考方案1】:
这是一个插图:
<Grid>
<TabControl>
<TabItem Header="Visible"></TabItem>
<TabItem Visibility="Hidden" Header="Hidden">Hidden</TabItem>
<TabItem Visibility="Hidden" Header="Hidden">Hidden</TabItem>
<TabItem Visibility="Hidden" Header="Hidden">Hidden</TabItem>
<TabItem Header="Visible"></TabItem>
<TabItem Header="Visible"></TabItem>
<TabItem Header="Visible"></TabItem>
</TabControl>
</Grid>
将呈现这个:
还有这个 XAML:
<Grid>
<TabControl>
<TabItem Header="Visible"></TabItem>
<TabItem Visibility="Collapsed" Header="Collapsed">Collapsed</TabItem>
<TabItem Visibility="Collapsed" Header="Collapsed">Collapsed</TabItem>
<TabItem Visibility="Collapsed" Header="Collapsed">Collapsed</TabItem>
<TabItem Header="Visible"></TabItem>
<TabItem Header="Visible"></TabItem>
<TabItem Header="Visible"></TabItem>
</TabControl>
</Grid>
将呈现这个:
所以,Collapsed
不会节省空间,而 Hidden
会。
【讨论】:
【参考方案2】:不,它指的是您正在查看的整个窗口。
假设您在屏幕顶部有一个红色块(高度为 20 像素),而在红色块下方您有一个标题。
隐藏:红色块不可见,但它通常保留的空间仍然保留,这意味着标题距离屏幕顶部 20px
折叠:红色块与保留空间(20px 高度)一起不可见,这意味着标题位于屏幕顶部
【讨论】:
【参考方案3】:可见性不仅指窗口,还指所有控件。如果您使用自动放置其子控件的布局,则使用“隐藏”或“折叠”会有所不同。 'hidden' 表示布局控件在排列其子项时仍为其“保留空间”,而 'collapsed' 表示布局未为其保留任何空间。
【讨论】:
【参考方案4】:布局基本上是您的控件在表单中的整体放置,因此如果它折叠,则意味着它会在 UI 中消失,并且它的位置将被其他控件使用,但是当它隐藏时,它对用户来说是不可见的,但是它的位置不能被任何其他控件占用,它只是对用户不可见。
【讨论】:
以上是关于C# 窗口可见性,折叠和隐藏的主要内容,如果未能解决你的问题,请参考以下文章