我有一个关于应用程序中窗口可见性的快速问题。根据... http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx(简称)
当窗口折叠时,不会为布局中的窗口保留空间。当一个窗口被隐藏时,空间是为布局中的窗口保留的。
我在这里很困惑,布局指的是什么?它是指窗口空间吗?
我有一个关于应用程序中窗口可见性的快速问题。根据... http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx(简称)
当窗口折叠时,不会为布局中的窗口保留空间。当一个窗口被隐藏时,空间是为布局中的窗口保留的。
我在这里很困惑,布局指的是什么?它是指窗口空间吗?
这是一个插图:
<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
会。
不,它指的是您正在查看的整个窗口。
比方说,您在屏幕顶部有一个红色块(高度为 20 像素),在红色块下方有一个标题。
隐藏:红色块不可见,但它通常保留的空间仍然保留,这意味着标题距离屏幕顶部 20px
Collapsed:红色块与保留空间(20px 高度)一起不可见,这意味着标题位于屏幕顶部
可见性不仅指窗口,还指所有控件。如果您使用自动放置其子控件的布局,则使用“隐藏”或“折叠”会有所不同。'hidden' 表示布局控件在排列其子项时仍为其“保留空间”,而 'collapsed' 表示布局未为其保留任何空间。
布局基本上是您的控件在表单中的整体放置,因此如果它折叠,则意味着它将在 UI 中消失,并且它的位置将被其他控件使用,但是当它隐藏时,它对用户来说是不可见的,但是它的位置不能被任何其他控件占用,它只是对用户不可见。