2010-02-25 78 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)"/> ... 
相關問題