微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

silverlight-4.0 – 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之间的区别?

谢谢

解决方法

自动表示给列/行包含的项目的大小。

*表示与其他指定*的列/行共享可用空间的其余部分。

其实*相当于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的可用高度。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐