Windows 8 什么是「;星号;表达式混合中的度量?

Windows 8 什么是「;星号;表达式混合中的度量?,windows-8,microsoft-metro,visual-studio-2012,expression-blend,Windows 8,Microsoft Metro,Visual Studio 2012,Expression Blend,我目前正在开发Windows 8 Metro/Modern UI应用程序。现在,我正在Visual Studio的Expression Blend中开发接口 我的问题是:当调整UI元素(如网格列)的大小时,我可以使用像素、自动或星形。在这种情况下,什么是明星?谷歌搜索什么也没找到,我在Windiws 8开发者文档中也没找到任何东西 谢谢。在网格中,a*意味着它将与其他*列(或行)平等地共享可用空间。有一些很好的WPF示例说明了这一点 从文件中: 星型 一种约定,通过该约定可以调整要采用的行或列的

我目前正在开发Windows 8 Metro/Modern UI应用程序。现在,我正在Visual Studio的Expression Blend中开发接口

我的问题是:当调整UI元素(如网格列)的大小时,我可以使用像素、自动或星形。在这种情况下,什么是明星?谷歌搜索什么也没找到,我在Windiws 8开发者文档中也没找到任何东西


谢谢。

在网格中,a
*
意味着它将与其他
*
列(或行)平等地共享可用空间。有一些很好的WPF示例说明了这一点

从文件中:

星型

一种约定,通过该约定可以调整要采用的行或列的大小 网格中剩余的可用空间。星号大小始终包括 星号字符(),并可选地在星号前面加上 一个整数值,用于指定加权因子与其他 可能的星号大小(例如,3)。有关 星形大小,请参见网格


在具有多列的网格中,*size列将分割剩余空间。例如,假设一个300px宽的网格有3列(150px、120px和1*)

计算结果如下:

remainder = (300 - 150 - 120)
由于余数为30px,因此1*列的宽度为30px

现在添加一些列并将宽度修改为(35px、85px、2*、1*、3*)

重新计算:

remainder = (300 - 35 - 85)
在这种情况下,剩余像素为180px,因此每个*列根据其加权数拆分剩余像素

factor = (180/ (2 + 1 + 3)) 
factor = 30px
因此,2*列为60px,1*列为30px,3*列为90px

300 == 35 + 85 + 60 + 30 + 90 
当然,同样的原则也适用于行大小调整


调整网格大小后,*列将按新的余数大小进行拆分。但它们在其他*尺码的物品之间保持相同的尺码比例。在本例中,3*列的宽度始终是1*列的3倍。

这意味着
使用剩余的内容