在WP7应用程序中从参考库加载自定义字体

时间:2012-01-07 14:09:47

标签: c# windows-phone-7 fonts

在我的应用程序中,我想使用自定义字体,我尝试下面的方法将字体嵌入到我的应用程序中。我将font ttf文件添加到应用程序(到fonts文件夹中)并将构建操作设置为内容。

我正在使用它,

FontFamily font = new FontFamily("/MyWpAppName;Component/Fonts/Fonts.zip#fontname");

这很好用,我可以在我的应用程序中使用自定义字体。

现在,我想将此字体外部化为一个单独的库(出于各种原因)。所以我在我的解决方案中添加了一个新的库项目,并添加了我的自定义字体ttf文件,并将构建操作设置为内容。

我遇到的问题是我无法从手机应用程序访问此字体。我的项目中的一些代码片段,

主要的wp应用程序,

FontFamily font=PhoneClassLibrary.Utils.GetTargetFont();

在PhoneClassLibrary项目中,Utils.cs文件

public static FontFamily GetTargetFont()
{
  return FontFamily("/PhoneClassLibrary;Component/Fonts/Fonts.zip#fontName");
}

有人能告诉我我在哪里做错了吗?

1 个答案:

答案 0 :(得分:2)

您需要将构建操作更改为Resource以获取其他程序集中的字体。将构建类型设置为Content意味着该文件不包含在程序集本身中,而是包含在XAP中。第/PhoneClassLibrary;Component/Fonts/Fonts.zip#fontName行正在查找程序集内部的字体,这就是它需要Resource的原因。