问题描述
我有这个网格:
<Grid >
<Grid.ColumnDeFinitions>
<ColumnDeFinition Width="1.07*" />
<ColumnDeFinition Width="1.2*" />
<ColumnDeFinition Width="0.05*" />
</Grid.ColumnDeFinitions>
</Grid>
此网格是android和ios标题视图的一部分。我需要在中间的列中居中放置图标,但是由于ios和android处理标题视图的方式不同,因此,居中的图标在ios上的居中位置稍微偏左,而在android的中间位置。我需要为每个平台设置不同的列宽。
这可行吗?
谢谢!
解决方法
您可以使用以下代码针对不同平台(android,ios)针对不同的Colum定义实现。
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition >
<ColumnDefinition.Width>
<OnPlatform x:TypeArguments="GridLength">
<On Platform="iOS" Value="1.2*"></On>
<On Platform="Android" Value="2.07*"></On>
</OnPlatform>
</ColumnDefinition.Width>
</ColumnDefinition>
<ColumnDefinition Width="1.2*" />
<ColumnDefinition Width="0.05*" />
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" Text="By default,a Grid contains one row and one column." />
</Grid>