我想在标签,按钮,textview使用的资源字典中设置字体信息。
<OnPlatform x:TypeArguments="x:String" x:Key="HelveticaNeue">
<On Platform="iOS">HelveticaNeue</On>
<On Platform="Android">HelveticaNeue#HelveticaNeue</On>
</OnPlatform>
<Style x:Key="style1" TargetType="Font">
<Setter Property="FontFamily" Value="{StaticResource HelveticaNeue}" />
<Setter Property="FontSize" Value="23" />
</Style>
我尝试了上面的代码,但是它失败了,因为在Font
类型中FontFamily
set属性是私有的。对于键style1
,如果我将目标类型设置为标签或按钮,则可以使用。
有没有办法可以一次在资源字典中设置字体信息(包括字体系列和大小),可以用于标签,按钮和文本视图,而不会为不同的目标类型复制相同的类型?
答案 0 :(得分:1)
通常我有3种不同的资源:
示例:
<OnPlatform
x:Key="MediumFontFamily"
x:TypeArguments="x:String"
Android="sans-serif-medium"
iOS="HelveticaNeue-Medium" />
<x:Double x:Key="TitleFontSize">20</x:Double>
<Style x:Key="TitleLabel" TargetType="Label">
<Setter Property="TextColor" Value="{StaticResource HeaderTextColor}" />
<Setter Property="FontFamily" Value="{StaticResource MediumFontFamily}" />
<Setter Property="FontSize" Value="{StaticResource TitleFontSize}" />
</Style>
这样就不会有重复,因为你只是在重用资源。