我的 Assets 文件夹中有一个自定义字体,需要将此字体指定为应用程序的全局字体。这是我的想法,但行不通。
<FontFamily x:Key="MetricWebRegular">
ms-appx:///Assets/Fonts/MetricWeb-Regular.ttf#Metric Web
</FontFamily>
我通过将其添加到文本框中的样式 setter 来调用它。
最佳答案
This is what I thought of but it's not working.
很难知道这里出了什么问题,仅根据您的代码,它应该可以工作。首先,我没有你们的字体资源,我从网上下载了一个,测试如下:
<Application.Resources>
<FontFamily x:Key="MetricWebRegular">ms-appx:///Assets/Blambot-Custom.ttf#Blambot Custom</FontFamily>
</Application.Resources>
然后在文本框中的样式 setter 中使用此资源:
<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 。我下载了它并在这里更改了它的名称,以便它符合您的格式。
所以,
确保您的字体文件没有问题。
ms-appx:///Assets/Fonts/MetricWeb-Regular.ttf#Metric Web
该路径表示您的字体文件位于Fonts
下Assets
的文件夹文件夹,确保路径正确。如果你想使用这个资源,你需要使用
StaticResource
及其 key 。如果您想覆盖默认字体系列,您可以覆盖
ContentControlThemeFontFamily
像这样的资源:
<FontFamily x:Key="ContentControlThemeFontFamily">ms-appx:///Assets/Blambot-Custom.ttf#Blambot Custom</FontFamily>
,我的布局结果在这里:
如果还有问题,您可以留言留下您的字体文件资源的下载地址,以便我们下载测试。
关于xaml - 如何在App.xaml中设置全局自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956592/