有人知道如何在RichTextBox
的{{1}}范围内设置字体吗?
Stream
和TextBlock
可以选择设置TextBox
,
但是像FontSource
,Run
和整个Paragraph
这样的课程错过了。 :(
有什么理由吗?
有没有任何已知的方法来实现这一目标?
我已经尝试在RichTextBox
中设置整个源URI
但这似乎不适用于外部资源,
仅适用于FontFamily
等内部URI地址。
我找不到任何进一步的信息,接下来要做什么或如何继续, 请帮帮我。
亲切的问候,
巴斯蒂安
答案 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”的文件夹中。
这不是最直接的解决方案,但确实有效。希望这有帮助!