Xamarin.Forms 如何将成语过滤应用于样式
How to apply Idiom filtering to a Style in Xamarin.Forms
我打算在我的 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>
我可以创建一个打开成语的样式吗?
我想,你可以。尝试这样的事情:
<Style x:Key="BoldField" TargetType="Label">
<Setter Property="FontAttributes">
<Setter.Value>
<OnIdiom x:TypeArguments="FontAttribute" Phone="Bold" Tablet="Normal"/>
</Setter.Value>
</Setter>
</Style>
我打算在我的 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>
我可以创建一个打开成语的样式吗?
我想,你可以。尝试这样的事情:
<Style x:Key="BoldField" TargetType="Label">
<Setter Property="FontAttributes">
<Setter.Value>
<OnIdiom x:TypeArguments="FontAttribute" Phone="Bold" Tablet="Normal"/>
</Setter.Value>
</Setter>
</Style>