我目前正在开发一个 Windows 8 Metro/Modern UI 应用程序。现在,我正在为 Visual Studio 处理 Expression Blend 中的界面。
我的问题是:在调整网格列等 UI 元素的大小时,我可以使用像素、自动或星号。在这种情况下,什么是明星?谷歌搜索一无所获,我在 Windiws 8 开发人员文档中也没有找到任何内容。
谢谢你。
我目前正在开发一个 Windows 8 Metro/Modern UI 应用程序。现在,我正在为 Visual Studio 处理 Expression Blend 中的界面。
我的问题是:在调整网格列等 UI 元素的大小时,我可以使用像素、自动或星号。在这种情况下,什么是明星?谷歌搜索一无所获,我在 Windiws 8 开发人员文档中也没有找到任何内容。
谢谢你。
在具有多列的网格中,* size 列划分剩余空间。例如,假设一个 300 像素宽的网格有 3 列(150 像素、120 像素和 1*)。
计算如下:
remainder = (300 - 150 - 120)
由于余数是 30px,1* 列是 30px 宽
现在添加一些列并将宽度修改为 (35px, 85px, 2*, 1*, 3*)
重新计算:
remainder = (300 - 35 - 85)
在这种情况下,余数为 180 像素,因此每个 * 列根据其权重数拆分剩余像素。
factor = (180/ (2 + 1 + 3))
factor = 30px
因此 2* 列是 60px,1* 列是 30px,3* 列是 90px
300 == 35 + 85 + 60 + 30 + 90
当然,同样的原则也适用于行大小。
当网格调整大小时,* 列将新的剩余大小分开。但它们在其他 * 尺寸项目之间保持相同的尺寸比例。在示例中,3* 列的宽度始终是 1* 列的 3 倍。