Silverlight网格布局定义中的&*和&Auto";有什么不同 [英] What is difference between " * " and "Auto" in Silverlight Grid Layout Definitions
本文介绍了Silverlight网格布局定义中的&*和&Auto";有什么不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
尝试了解以下内容:
<Grid Name="Root">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
</Grid>
有人能帮我解释一下上述代码片段中*和Auto之间的区别吗?
谢谢
推荐答案
Auto
表示为此列/行提供所包含项目的大小。
*
表示与也指定*
的其他列/行共享剩余的可用空间。
实际上*
等同于1*
。可以指定2*
、3*
...N*
作为宽度或高度。Silverlight使用的算法是使用*
将所有行的所有值N相加,然后为每行分配其相应的可用空间份额。例如:-
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="2*" />
<RowDefinition Height="3*" />
<RowDefinition Height="Auto" />
</Grid.Definitions>
这将首先确定第四行需要从其内容中获得多高,并从全部可用高度减去该高度。其余的高度将在*
行之间分配。第一个得到1/6,第二个得到1/3,第三个得到可用高度的1/2。
这篇关于Silverlight网格布局定义中的&*和&Auto";有什么不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文