Windows Phone 8中的自定义字体

时间:2013-11-19 14:23:02

标签: xaml windows-phone-8 windows-phone

我尝试将自定义字体添加到我的应用程序中。我需要它用于页面标题。我将字体复制到名为“Fonts”的文件夹,并将构建操作更改为Content。在属性面板中,字体显示在字体列表中。但是当我添加字体时,页面标题不会改变。它改变了一点但不像我正在使用的字体。奇怪的是,当我双击页面标题时,文本在文本块中突出显示,然后突出显示的文本以我想要的字体显示。这令人困惑。我该怎么做才能纠正这个问题?

页面标题的XAML

<TextBlock Text="page title" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" FontFamily="/AppName;component/Assets/Fonts/Dekers_Bold.ttf#Dekers_Bold"  /> 

4 个答案:

答案 0 :(得分:4)

您必须将字体添加为BlendEmbeddableFonts

在混合中打开您的解决方案,转到字体管理器,在“嵌入字体”中,检查您的自定义字体。

然后创建一个名为

的资源
<FontFamily           
        x:Key="CustomFont">/Wake Jake;component/Fonts/Fonts.zip#FontName</FontFamily>

并将其添加为

FontFamily="{StaticResource CustomFont}"

它将以这种方式工作。 如果您需要进一步的帮助,请告诉我

答案 1 :(得分:1)

如果字体位于主WP8项目中,则无需使用/ AppName;组件路径。还要确保Dekers_Bold实际上是字体的名称,你应该尝试DekersBold或者只是Dekers:

FontFamily="/Assets/Fonts/Dekers_Bold.ttf#DekersBold"

如果这不起作用,请尝试先将字体添加为资源:

<FontFamily x:Key="Dekers">/Assets/Fonts/Dekers_Bold.ttf#DekersBold</FontFamily>
...
<TextBlock Text="page title" Margin="9,-7,0,0" FontFamily="{StaticResource Dekers}"  /> 

答案 2 :(得分:1)

任何字体都适用于Windows 8,但在将其添加到项目后,右键单击字体,选择属性并将“构建操作”设置为“内容”。祝你有美好的一天!

答案 3 :(得分:0)

不幸的是,并非所有字体都适用于Windows Phone 8.它在WP 7.1项目中尝试了你的字体(从dafont下载),如here所述,它完美无缺。在WP 8项目中执行相同的操作......不会加载字体。所以,你可能不得不选择另一种字体。