如何在使用C#代码和XAML的Xamarin.Forms中使用成语

3

如何使用成语来设置Xamarin Forms中的网格(高度、宽度)、内边距、外边距以及标签字体大小。需要使用C#和XAML代码。

我有一个使用StackLayout和Rectangle的示例,但不知道如何在其他控件中使用它。

<StackLayout Spacing="10" AbsoluteLayout.LayoutFlags="All" BackgroundColor="#0E517B" Padding="0,30,0,0">
<StackLayout.AbsoluteLayout.LayoutBounds>
    <OnIdiom x:TypeArguments="Rectangle" Phone="0.5,1,1,0.80" Tablet="1,0,0.5,1" />
</StackLayout.AbsoluteLayout.LayoutBounds></StackLayout>
1个回答

10

您可以在XAML中使用它来操作任何类型的对象的属性。

只需使用正确的属性并获取它所需的正确类型的参数。

例如,如果您想设置Grid中的Spacing,只需执行以下操作:

<Grid VerticalOptions="FillAndExpand">
  <Grid.ColumnSpacing>
    <OnIdiom x:TypeArguments="x:Double"
             Phone="20"
             Tablet="40"/>
 </Grid.ColumnSpacing>
  <Grid.RowSpacing>
    <OnIdiom x:TypeArguments="x:Double"
             Phone="10"
             Tablet="20"/>
  </Grid.RowSpacing>
  <Grid.Padding>
    <OnIdiom x:TypeArguments="Thickness"
             Phone="10, 10, 10, 0"
             Tablet="20, 20, 20, 0"/>
  </Grid.Padding>
  <!-- Grid Content -->
</Grid>

需要注意的是,我们通过在Grid中添加一个子节点并作为其子节点使用OnIdiom来设置ColumnSpacing。如果您想针对某个平台执行不同的操作,则还可以使用OnPlatform
您需要确定的唯一事项是x:TypeArguments应该是什么类型的对象。在上面的例子中,您需要检查Grid.ColumnSpacing的类型,它是一个Double
有关更多信息,请参见James Montemagno的此博客文章

如何使用XAML代码和C#代码使用Idiom来使用高度和宽度 - sumeet
如何使用XAML代码和C#代码使用Idiom来使用高度和宽度 @Gearald - sumeet
<controls:GridView ItemsSource="{Binding Tiles}" Padding="32,32" ItemWidth="100" ItemHeight="60" RowSpacing="30"
- sumeet
应如下所示: <controls:GridView ItemsSource="{Binding Tiles}" Padding="32,32" ItemWidth="100" ItemHeight="60" RowSpacing="30"> controls:GridView.Height <OnIdiom x:TypeArguments="x:Integer" Phone="20" Tablet="40"/> </controls:GridView.Height> </controls:GridView> - Gerald Versluis
<Label.FontSize> <OnIdiom x:TypeArguments="x:Double" Phone="14" Tablet="25"/> </Label.FontSize> 如何在C#代码中转换此内容 - sumeet
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接