我有一个关于应用程序中窗口可见性的快速问题。根据... http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx(简称)
折叠窗口时,不会为布局中的窗口保留空间。隐藏窗口时,会为布局中的窗口保留空间。
我在这里很困惑,布局是指什么?它是指窗口空间吗?
答案 0 :(得分:7)
这是一个例子:
<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
会保存。
答案 1 :(得分:1)
不,它指的是你正在看的整个窗口。
让我们说,你在屏幕的顶部有一个红色块(高20px),在红色块下面你有一个标题。
隐藏:红色区块不可见,但它通常保留的空间仍然保留,这意味着标题距离屏幕顶部20px
折叠:红色块与预留空间(20px高度)不可见,这意味着标题位于屏幕顶部
答案 2 :(得分:0)
可见性不仅涉及窗口,还涉及所有控件。如果您使用自动放置其子控件的布局,如果您使用“隐藏”或“折叠”,则会产生影响。 “隐藏”意味着布局控件在安排其子项时仍然为其“预留空间”,而“折叠”意味着布局不为其保留任何空间。
答案 3 :(得分:0)
布局基本上是控件在表单中的整体放置,所以如果它的折叠意味着它在UI中会是绝对的,并且其位置将被其他控件使用,但是当它隐藏时它对用户来说是不可见的,但是地方不能被任何其他控件占用,只是对用户不可见。