XAML 中 * 的含义是什么
XAML 中 * 的含义是什么?我有一个宽度为400的网格。并将网格分为3列。 *.4 是什么意思?我认为这是可用空间的 40%。所以我认为前两列各占 40%,其余部分由第三列占据。 但看起来,第三列占 60%,前两列各占 20%。 这是如何运作的?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".4*"/>
<ColumnDefinition Width=".4*"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
</Grid>
What does * mean in XAML. I have a grid of width 400. And divided the grid to 3 columns.
What does *.4 mean? I thought it is 40% of the space available. so thought the first 2 columns will get 40% percent each and the rest is taken by the third column.
but looks like, the third column is taking 60% and the first two are getting 20% each.
How does this work?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".4*"/>
<ColumnDefinition Width=".4*"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
</Grid>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
基本上,默认值为“1*”,因此上面的内容实际上是:
星形网格间距(GridUnitType.Star) 按比例分配空间。在您的例子中,总共有 1.8 (1.0 + 0.4 + 0.4),因此前两列各获得分配给它们的宽度的 22.2% (0.4/1.8)。
为了得到你想要的,你可以使用:
这将总数设置为 1.0,所以每个都变成一个百分比。
请注意,这将得到与以下操作完全相同的结果:
由于现在将总比例除以总数 (100),仍然给出 40%、40%、20%。
Basically, the default is "1*", so what you have above is effectively:
The Star grid spacing (GridUnitType.Star) proportionally distributes space. In your case, you have a total of 1.8 (1.0 + 0.4 + 0.4), so the first two columns each get 22.2% (0.4/1.8) of the width allocated to them.
To get what you want, you can use:
This sets the total to 1.0, so each becomes a percentage.
Note that this will give exactly the same result as doing:
Since the total proportions are divided up by the total (100) now, still giving 40%, 40%, 20%.