昨天在练习代码的时候发现用<Grid>
分了上下两个网格,但是程序只有一个网格占满了整个程序并且没有滚动条显示。
检查后发现是高度设置成Auto
而不是*
。代码如下所示:
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="100"/>
</Grid.RowDefinitions>
应该改为
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="100"/>
</Grid.RowDefinitions>
个人感觉Auto
就是自动的意思,它会根据该网格中的内容自动控制网格的大小,当网格中的内容太多的时候可以把其它的网格给挤掉,并且它不会让滚动条出现。
*
的意思是尽可能的占满这个网格,他是以网格为界限的。如果占满了网格还有多余的,那么它就会放到网格外面,而不是挤掉别的网格。