2010-07-07 67 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

相关问题