【问题标题】:WPF - copy/paste selection with custom font familyWPF - 使用自定义字体系列复制/粘贴选择
【发布时间】:2010-06-25 22:00:17
【问题描述】:

我的 WPF 应用程序中嵌入了一个自定义字体系列,我可以通过指定基本 URI 和字体系列名称来引用它。

new FontFamily(new Uri("pack://application:,,,/Fonts/"), "./#My Custom Font Family");

但是,当我复制使用此字体的选择时,剪贴板上的 xaml 类似于以下内容

<Run Text="Foo" FontFamily="./#My Custom Font Family" />

当我粘贴到同一个 RichTextBox 时,我会丢失字体,因为它会退回到系统默认值,因为 -

当 FontFamily 被指定为标记中的属性时,基本 URI 值始终是隐含的——它的值是 XAML 页面的 URI。 http://msdn.microsoft.com/en-us/library/system.windows.media.fontfamily.aspx

而且我的 xaml 页面与自定义字体系列不在同一目录中。

有什么解决方法的想法吗?

【问题讨论】:

    标签: wpf xaml fonts


    【解决方案1】:

    我最终通过更改字体系列的初始化方式解决了这个问题。

    new FontFamily(new Uri("pack://application:,,,/Fonts/"), "./#My Custom Font Family");
    

    成为

    new FontFamily(new Uri("pack://application:,,,"), "MyAssemblyName;Component/Fonts/#My Custom Font Family");
    

    当序列化到剪贴板 (XAML) 时

    <Run Text="Foo" FontFamily="Component/Fonts/#My Custom Font Family" />
    

    最终结果 - 我的自定义字体在富文本框中复制/粘贴时被保留。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      • 2017-07-15
      • 2018-12-03
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      相关资源
      最近更新 更多