【问题标题】:Silverlight RichTextBox: How to set custom font from resource/stream?Silverlight RichTextBox:如何从资源/流中设置自定义字体?
【发布时间】:2011-01-27 22:36:08
【问题描述】:

有人知道如何在RichTextBox 中从Stream 设置字体吗?

TextBlockTextBox 可以选择设置FontSource, 但是像RunParagraph 和整个RichTextBox 这样的课程错过了这一点。 :( 有什么理由吗?

有什么已知的方法可以实现吗? 我已经尝试在 FontFamily 中设置整个源 URI 但这似乎不适用于外部资源, 仅适用于内部 URI 地址,例如 /SilverlightFontTest;component/GRAFFITO_01.ttf#Graffito

我找不到任何进一步的信息,下一步该尝试什么或如何继续, 请帮帮我。

亲切的问候,
巴斯蒂安

【问题讨论】:

    标签: .net silverlight silverlight-4.0 richtextbox


    【解决方案1】:

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

    然后,您可以在代码中参考这些字体。在Silverlight RichTextbox中,您可以像这样指定一个fontfamily:

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

    因此,对于Helvetica Lt STD罗马,它会像以下方式一样:

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

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

    在前面的示例中,我将字体文件存储在 Silverlight 项目中名为“fonts”的文件夹中。

    这不是最直接的解决方案,但确实可以使用。希望这会有所帮助!

    【讨论】:

    • 嗨,这确实有效,但它不能解决从流中设置字体资源的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2015-09-07
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 2010-09-30
    • 2013-08-08
    相关资源
    最近更新 更多