![](/img/trans.png)
[英]Strange issue with setting visibility collapsed in grid (c#, xaml, UWP)
[英]C# Window Visibility, collapsed and hidden
我有一个关于应用程序中窗口可见性的快速问题。 根据... 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
折叠:红色块与保留空间(20px 高度)不可见,这意味着标题位于屏幕顶部
可见性不仅指窗口,还指所有控件。 如果您使用自动放置其子控件的布局,则使用“隐藏”或“折叠”会有所不同。 'hidden' 表示布局控件在安排其子项时仍为其“保留空间”,而 'collapsed' 表示布局未为其保留任何空间。
布局基本上是你的控件在表单中的整体放置,所以如果它折叠起来,这意味着它在 UI 中将不存在,它的位置将被其他控件使用,但是当它隐藏时,它对用户来说是不可见的,但它的位置不能被任何其他控件占用,它只是对用户不可见。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.