ama*_*ara 3 xamarin.ios xamarin.android xamarin xamarin.forms
我有一个网格,其中 Android RowDefinition(heigh)t 为 100,在 iO 上为 120。我如何在 Xaml 内针对每个平台标识执行此操作。
<ContentPage.Resources>
<ResourceDictionary>
<OnPlatform x:Key="GridSize" x:TypeArguments="GridLength" iOS="120" Android="100" />
</ResourceDictionary>
</ContentPage.Resources>
<Grid RowSpacing="0" x:Name="grid" AbsoluteLayout.LayoutFlags="All"
<Grid.RowDefinitions>
<RowDefinition Height="{StaticResource GridSize}" />
<RowDefinition Height="60" />
<RowDefinition Height="280" />
</Grid.RowDefinitions>
</Grid>
Run Code Online (Sandbox Code Playgroud)
这样就行不通了。
您是否尝试过直接执行而不是通过资源执行?
<Grid RowSpacing="0" x:Name="grid" AbsoluteLayout.LayoutFlags="All"
<Grid.RowDefinitions>
<RowDefinition>
<RowDefinition.Height>
<OnPlatform x:TypeArguments="GridLength">
<On Platform="Android">100</On>
<On Platform="iOS"120/On>
</OnPlatform>
</RowDefinition.Height>
</RowDefinition>
<RowDefinition Height="60" />
<RowDefinition Height="280" />
</Grid.RowDefinitions>
</Grid>
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用较新的标记扩展:<RowDefinition Height="{OnPlatform 100, iOS=120, Android=100}" />
| 归档时间: |
|
| 查看次数: |
2305 次 |
| 最近记录: |