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

Mor*_*sen 5 fonts xaml custom-font xamarin 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>
Run Code Online (Sandbox Code Playgroud)

理想情况下,我会在资源字典中设置字体系列,我已经成功设置了文本颜色和字体属性,但是,我这样做是不成功的.

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

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

Ste*_*oix 6

x:Key在App.xaml中创建一个隐式样式(没有一个样式),它将应用于所有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>
Run Code Online (Sandbox Code Playgroud)