在我的应用程序中,我想使用自定义字体,我尝试下面的方法将字体嵌入到我的应用程序中。我将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");
}
有人能告诉我我在哪里做错了吗?
答案 0 :(得分:2)
您需要将构建操作更改为Resource
以获取其他程序集中的字体。将构建类型设置为Content
意味着该文件不包含在程序集本身中,而是包含在XAP中。第/PhoneClassLibrary;Component/Fonts/Fonts.zip#fontName
行正在查找程序集内部的字体,这就是它需要Resource
的原因。