可以在XAML中使用百分比值吗?

23 xaml

在html中可以说width ="20%".当然,XAML中不允许这样做.有谁知道为什么这样或者有没有办法在XAML中获得百分比值支持?

fos*_*son 57

Grid ColumnDefinitions和RowDefinitions允许比例单位(除了固定像素和Auto).

这里有两个例子:

<Grid.ColumnDefinitions>
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition Width="20" />
  <ColumnDefinition Width="*" />
  <ColumnDefinition Width="*"/>
  <ColumnDefinition Width="*"/>
  <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
Run Code Online (Sandbox Code Playgroud)

第一列将尽可能大,以适合列中的所有内容.下一列是20个与设备无关的像素宽.网格的剩余宽度将在其余列中平均分配.(100%/ 4 =每个25%)

<Grid.ColumnDefinitions>
  <ColumnDefinition Width="*" />
  <ColumnDefinition Width="4*"/>
  <ColumnDefinition Width="4*"/>
  <ColumnDefinition Width="*"/> 
</Grid.ColumnDefinitions>
Run Code Online (Sandbox Code Playgroud)

此代码将4列分为总网格宽度的10%,40%,40%和10%.

  • 它的比例.*与1*相同.你可以有分数单位.您将所有*数字相加,然后每列宽度是它自己的数字除以总数.如果其余列总计为80*,则20*将为20%. (7认同)
  • 那么'20*而不是20%? (2认同)