Silverlight网格布局定义中的&*和&Auto"有什么不同 [英] What is difference between " * " and "Auto" in Silverlight Grid Layout Definitions

查看:8
本文介绍了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&quot;有什么不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆