xaml - 无法访问 Silverlight 类库中的字体资源

标签 xaml silverlight-3.0 fonts resources

我有一个相当大的 Silveright 3.0 项目,但在从其中一个程序集中访问几个自定义字体资源时遇到问题。

我有一个有效的测试解决方案,我在其中添加了一个自定义字体作为资源,并且可以使用以下方法从 XAML 很好地访问它:

<TextBlock Text="Test" FontFamily="FontName.ttf#Font Name" />

测试解决方案包含 TestProject.Application TestProject.Application.Web 项目,所有的乐趣和游戏显然都在 TestProject.Application 项目中

但是,当我在主要解决方案中尝试此操作时,字体拒绝以正确的字体显示(而是以默认字体显示)。在测试解决方案和主解决方案之间将字体添加到项目的方式没有区别,并且 XAML 是相同的。

但是,存在解决方案布局差异。在主解决方案中,还有一个 MainApp.Application MainApp.Application.Web 项目,我也有 MainApp.Application.ViewModel 项目和 MainApp.Application.Views 项目,XAML 的问题部分是在 MainApp.Application.Views 项目中(而不是像测试解决方案那样的 .Application 项目)。

我尝试将字体放入 .Application 或 .Application.Views 项目中,尝试将构建操作更改为内容、嵌入式资源等,但均无济于事。

那么,从我不知道的子程序集中访问字体资源是否存在问题,或者是否有人成功地做到了这一点?

我的长期需求是将有效的自定义字体作为资源存储在单独的 .Application.FontLibrary 程序集中,该程序集将按需下载和缓存,并且 .Application.Views 项目中的 XAML 控件将需要引用此FontLibrary 程序集以获取有效字体。我也尝试过创建这个单独的字体库程序集,但似乎无法从第二个程序集中获取字体。

作为一些附加信息,我还尝试了以下字体引用方法:
<TextBlock Text="Test" FontFamily="/FontName.ttf#Font Name" />
<TextBlock Text="Test" FontFamily="pack:application,,,/FontName.ttf#Font Name" />
<TextBlock Text="Test" FontFamily="pack:application,,,/MainApp.Application.Views;/FontName.ttf#Font Name" />
<TextBlock Text="Test" FontFamily="pack:application,,,/MainApp.Application.Views;component/FontName.ttf#Font Name" />

以及一些具有不同程序集引用/子目录/随机分号的类似变体。

到目前为止没有任何效果......有人遇到过这个问题(并且最好解决它)?

最佳答案

这段代码对我有用:

... FontFamily="/(DLL);Component/(DIR-optional)/(Font_file)#(Font_name)"/> ...

关于xaml - 无法访问 Silverlight 类库中的字体资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333399/

相关文章:

c# - 如何避免在 XAML/Mvvm/C# 中双击按钮

Silverlight 问题 : Save in Jpeg format

css - CSS 中指定的 Arial 中断了 IE9 中的站点

html - 字体在 photoshop 和网站上看起来不一样

xaml - Xamarin Forms Center Collection查看内容

c# - Windows Store Multilingual 语言更改

c# - 如何切换 TextBlock 在 DataTrigger 中的可见性?

wpf - 我们可以在模板绑定(bind)时操作(减去)属性的值吗?

silverlight - x :name and name for controls in xaml file? 有什么区别吗

winapi - 检索 Windows 上可用的字体大小