Silverlight RichTextBox:如何从资源/流中设置自定义字体?

时间:2010-07-07 13:33:25

标签: .net silverlight silverlight-4.0 richtextbox

有人知道如何在RichTextBox的{​​{1}}范围内设置字体吗?

StreamTextBlock可以选择设置TextBox, 但是像FontSourceRun和整个Paragraph这样的课程错过了。 :( 有什么理由吗?

有没有任何已知的方法来实现这一目标? 我已经尝试在RichTextBox中设置整个源URI 但这似乎不适用于外部资源, 仅适用于FontFamily等内部URI地址。

我找不到任何进一步的信息,接下来要做什么或如何继续, 请帮帮我。

亲切的问候,
巴斯蒂安

1 个答案:

答案 0 :(得分:0)

您可以在Silverlight控件中指定自定义字体,但如果未在用户的计算机上安装,则必须将其存储在项目中的某个位置。我是通过创建“fonts”文件夹完成的。您还必须在“属性”窗口中将每个字体文件的“构建操作”设置为“资源”。

然后您可以在代码中引用这些字体。在silverlight richtextbox中,您可以像这样指定FontFamily:

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

因此对于Helvetica LT STD Roman来说,它会像:

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

您可以通过手动打开字体文件来获取实际的字体名称(“Helvetica LT Std”)。

从上一个例子中,我的字体文件存储在Silverlight项目中名为“fonts”的文件夹中。

这不是最直接的解决方案,但确实有效。希望这有帮助!