【问题标题】:how to use Idioms in xamarin.forms using C# code and XAML如何使用 C# 代码和 XAML 在 xamarin.forms 中使用 Idioms
【发布时间】:2017-03-01 03:06:48
【问题描述】:

如何使用 idiom 设置网格(高度、宽度)填充、边距以及使用 C# 和 XAML 代码在 xamarin 表单中设置标签字体大小。

我有一个使用 Rectangle 和 StackLayout 的例子。但我不知道将它与其他控件一起使用。

<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>

【问题讨论】:

    标签: c# xaml xamarin xamarin.ios xamarin.forms


    【解决方案1】:

    您几乎可以将它与您在 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 来设置ColumnSpacing,并作为其子节点使用OnIdiom。如果您想为平台做一些不同的事情,还有OnPlatform

    您唯一需要弄清楚的是x:TypeArguments 必须是什么。这是您尝试分配为值的对象类型。在上述情况下,您必须检查Grid.ColumnSpacing 的类型,即Double

    有关此检查的更多信息,请查看 James Montemagno 的 this blog post

    【讨论】:

    • 如何使用 Idiom 使用 XAML 代码和 C# 代码来使用高度、宽度
    • 如何使用 Idiom 使用 XAML 代码和 C# 代码 @Gearald 使用高度、宽度
    • 应该是这样的&lt;controls:GridView ItemsSource="{Binding Tiles}" Padding="32,32" ItemWidth="100" ItemHeight="60" RowSpacing="30" &gt;&lt;controls:GridView.Height&gt;&lt;OnIdiom x:TypeArguments="x:Integer" Phone="20" Tablet="40"/&gt;&lt;/controls:GridView.Height&gt;&lt;/controls:GridView&gt;
    • 如何转换
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    相关资源
    最近更新 更多