2010-07-07 68 views
1

有誰知道如何設置RichTextBox中的字體從StreamSilverlight RichTextBox:如何從資源/流中設置自定義字體?

TextBlockTextBox確實有設置​​, 但類,如RunParagraph和整個RichTextBox錯過的選擇。 :( 任何原因是什麼?

是否有任何已知的方式來實現這一目標? 我已經嘗試了FontFamily 內設置整個源URI但這似乎並沒有對外部來源是僅用於內部工作, URI地址一樣/SilverlightFontTest;component/GRAFFITO_01.ttf#Graffito

我無法找到任何進一步的信息來嘗試下什麼或怎麼去, 請幫助我。

親切的問候,
巴斯蒂安

回答

0

您可以在Silverlight控件中指定自定義字體,但是如果它未安裝在用戶的計算機上,它必須存儲在項目的某處。我通過創建「字體」文件夾來完成此操作。您還必須在「屬性」窗口中將每個字體文件的「構建操作」設置爲「資源」。

然後你可以在你的代碼中引用這些字體。在Silverlight中的RichTextBox,你可以像這樣指定的FontFamily:

Dim oFontFamily as New FontFamily("fontFolderName/FontFileName.otf#FontName") myRichTextBox.Selection.ApplyPropertyValue(Run.FontFamilyPoeprty, oFontFamily)

所以對於黑體LT STD羅馬,它會是這樣的:

Dim oFontFamily as new FontFamily("fonts/HelveticaLTSTD-Roman.otf#Helvetica LT Std")

你可以得到實際的字體名稱( 「Helvetica LT Std」)通過手動打開字體文件。

從前面的例子中,我已經將我的字體文件存儲在我的Silverlight項目中名爲「fonts」的文件夾中。

這不是最直接的解決方案,但它確實有效。希望這可以幫助!

+0

嗨,這實際上工作, 但它不能解決從流設置字體資源的問題。 – Haragashi 2011-09-02 08:25:15