4

我有一个关于应用程序中窗口可见性的快速问题。根据... http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx(简称)

当窗口折叠时,不会为布局中的窗口保留空间。当一个窗口被隐藏时,空间是为布局中的窗口保留的。

我在这里很困惑,布局指的是什么?它是指窗口空间吗?

4

4 回答 4

9

这是一个插图:

 <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会。

于 2013-10-29T15:42:57.290 回答
1

不,它指的是您正在查看的整个窗口。

比方说,您在屏幕顶部有一个红色块(高度为 20 像素),在红色块下方有一个标题。

隐藏:红色块不可见,但它通常保留的空间仍然保留,这意味着标题距离屏幕顶部 20px

Collapsed:红色块与保留空间(20px 高度)一起不可见,这意味着标题位于屏幕顶部

于 2013-10-29T07:54:39.187 回答
0

可见性不仅指窗口,还指所有控件。如果您使用自动放置其子控件的布局,则使用“隐藏”或“折叠”会有所不同。'hidden' 表示布局控件在排列其子项时仍为其“保留空间”,而 'collapsed' 表示布局未为其保留任何空间。

于 2013-10-29T07:55:23.060 回答
0

布局基本上是您的控件在表单中的整体放置,因此如果它折叠,则意味着它将在 UI 中消失,并且它的位置将被其他控件使用,但是当它隐藏时,它对用户来说是不可见的,但是它的位置不能被任何其他控件占用,它只是对用户不可见。

于 2013-10-29T08:00:43.700 回答