2010-02-25 82 views
4

我在旅途中有一个相当大的Silverlight 3.0项目,而且我遇到的问题是从其中一个程序集中访问几个自定义字体资源。无法访问Silverlight类库中的字体资源

我有,我已经添加了自定义字体作为资源工作的测试解决方案,并可以从XAML用细访问:

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

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

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

但是,解决方案布局存在差异。在主要的解决方案,以及为具有MainApp.ApplicationMainApp.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" /> 

并与不同的程序集的引用/子目录/随机半冒号几个类似的变种。

到目前为止没有任何作品......任何人都击中了这一点(并最好解决它)?

回答

1

此代码的工作对我来说:

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