所有标签的自定义字体 Xamarin Forms

Custom font for all labels Xamarin Forms

我已经从 fonts.google.com 下载了一种字体,并想为我的 Xamarin Forms 应用程序中的所有标签设置字体系列。

将以下代码添加到所有标签似乎工作量过大

                <Label.FontFamily>
                        <OnPlatform x:TypeArguments="x:String">
                        <OnPlatform.Android>Mogra-Regular.ttf#Mogra-Regular</OnPlatform.Android>
                    </OnPlatform>
                </Label.FontFamily>

理想情况下,我会在我已经成功设置文本颜色和字体属性的资源字典中设置字体系列,但是,我一直没有成功。

我已经设法使用自定义渲染器更改了字体系列,但是当我使用动态资源更改标签文本颜色或字体属性时,字体系列被重置为默认值。

有什么方法可以让我普遍使用我的自定义字体并且仍然允许动态更改任何给定标签的其他方面?

在您的 App.xaml 中创建隐式样式(没有 x:Key 的样式),它将应用于所有 Labels

<Style TargetType="Label">
  <Setter Property="FontFamily">
    <Setter.Value>
      <OnPlatform x:TypeArguments="x:String">
        <OnPlatform.Android>Mogra-Regular.ttf#Mogra-Regular</OnPlatform.Android>
      </OnPlatform>
    </Setter.Value>
  </Setter>
</Style>