如何将Idiom过滤应用于Xamarin.Forms中的样式

时间:2016-09-01 07:56:05

标签: xamarin.forms xamarin.forms-styles

我打算用我的Xamarin.Forms应用程序支持平板电脑,所以我检查了如何创建不同的布局。

根据this blog entry,我可以像这样在XAML代码中使用OnIdiom开关:

<Grid.RowSpacing>
    <OnIdiom x:TypeArguments="x:Double"
             Phone="10"
             Tablet="20"/>
</Grid.RowSpacing>

但是,我还打算创建样式以最小化要编写的代码。不幸的是,我无法通过Idiom上的开关指定样式值,如下所示:

<Style x:Key="BoldField" TargetType="Label">
    <Setter Property="FontAttributes" Value="<OnIdiom x:TypeArguments="FontAttribute" Phone="Bold" Tablet="Normal"/>" />
</Style>

我可以创建一个开启成语的风格吗?

1 个答案:

答案 0 :(得分:3)

我想,你可以。尝试这样的事情:

<Style x:Key="BoldField" TargetType="Label">
  <Setter Property="FontAttributes">
    <Setter.Value>
      <OnIdiom x:TypeArguments="FontAttribute" Phone="Bold" Tablet="Normal"/>
    </Setter.Value>
  </Setter>
</Style>