Xamarin.Forms:有没有办法在xaml中设置派生样式的默认字体(系列)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin.Forms:有没有办法在xaml中设置派生样式的默认字体(系列)?相关的知识,希望对你有一定的参考价值。

当基本标签样式设置为某些特定字体系列时,我需要在某些标签(例如)中将字体样式设置(重置)为默认值。即:

        <Style TargetType="Label">
            <Setter Property="FontFamily" Value="{StaticResource ThinFontFamily}" />
        </Style>


        <Style TargetType="Label" x:Key="MyCustomStyle">
            <Setter Property="FontFamily" Value="... to some default"></Setter>
        </Style>

当然还有另外两种方法:明确定义所有标签并使用自定义渲染器,但这就像许多代码一样。

答案

可以在样式setter属性中使用空值设置平台默认字体系列:

<Style x:Key="defaultLabel" TargetType="Label">
    <Setter Property="FontFamily" Value="" />
</Style>
...
<Label x:Name="label" Style="{StaticResource defaultLabel}"
       Text="{Binding Source={x:Reference label}, 
                      Path=Font, StringFormat='Default: {0}'}}" />

以上是关于Xamarin.Forms:有没有办法在xaml中设置派生样式的默认字体(系列)?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 Xamarin.Forms 导航栏?

Xamarin.Forms 在 XAML 中使用局部变量

如何在 XAML [Xamarin.Forms] 中使用 String 以外的类型设置自定义属性值

自动生成的 XAML.g.cs 文件在 Xamarin Forms PCL 项目中不可编译

如何用xamarin.forms xaml

在 Xamarin.Forms 上的 XAML 中将 BindingContext 设置为 ViewModel