【问题标题】:How to set Global Custom Font in App.xaml如何在 App.xaml 中设置全局自定义字体
【发布时间】:2016-08-16 14:17:12
【问题描述】:

我的资产文件夹中有一个自定义字体,需要将此字体指定为应用程序的全局字体。这是我想到的,但它不起作用。

<FontFamily x:Key="MetricWebRegular">
                ms-appx:///Assets/Fonts/MetricWeb-Regular.ttf#Metric Web
</FontFamily>

我通过将它添加到文本框中的样式设置器来调用它。

【问题讨论】:

  • 我也想知道有没有办法设置全局自定义字体。

标签: xaml uwp uwp-xaml


【解决方案1】:

这是我想到的,但它不起作用。

很难知道这里出了什么问题,仅根据您的代码,它应该可以工作。首先,我没有你的字体资源,我从网上下载了一个,测试如下:

<Application.Resources>
    <FontFamily x:Key="MetricWebRegular">ms-appx:///Assets/Blambot-Custom.ttf#Blambot Custom</FontFamily>
</Application.Resources>

然后在文本框中的样式设置器中使用此资源:

<Page.Resources>
    <Style x:Key="TextBoxStyle" TargetType="TextBox">
        ...
        <Setter Property="FontFamily" Value="{StaticResource MetricWebRegular}" />    
        ...

          </Setter>
      </Style>
  </Page.Resources>

还有我的TextBox

<TextBox Text="Hello 11111222333" FontSize="30" Style="{StaticResource TextBoxStyle}" />

完美运行:

这是我的字体download Uri。我下载了它并在此处更改了它的名称,以便它符合您的格式。

所以,

  1. 确保您的字体文件没有问题。

  2. ms-appx:///Assets/Fonts/MetricWeb-Regular.ttf#Metric Web这个路径表示你的字体文件在Assets文件夹的Fonts文件夹下,确保路径正确。

  3. 如果要使用该资源,需要使用StaticResource及其key。

  4. 如果你想覆盖默认字体系列,你可以像这样覆盖ContentControlThemeFontFamily资源:

&lt;FontFamily x:Key="ContentControlThemeFontFamily"&gt;ms-appx:///Assets/Blambot-Custom.ttf#Blambot Custom&lt;/FontFamily&gt;,我的布局结果在这里:

如果还有问题,你可以留言把你的字体文件资源的下载地址贴出来,我们可以下载下来测试一下。

【讨论】:

  • 它现在可以工作了:D 我把字体放在 PCL 的 assets 文件夹中哈哈哈。不过感谢您的详尽解释:))
猜你喜欢
  • 2016-06-10
  • 1970-01-01
  • 1970-01-01
  • 2012-02-05
  • 2016-04-02
  • 1970-01-01
  • 2011-04-15
  • 2013-06-07
  • 1970-01-01
相关资源
最近更新 更多