WPF-使用自定义字体系列复制/粘贴所选内容

WPF-使用自定义字体系列复制/粘贴所选内容,wpf,xaml,fonts,Wpf,Xaml,Fonts,我在WPF应用程序中嵌入了一个自定义字体系列,我可以通过指定基本URI和字体系列名称来引用它 new FontFamily(new Uri("pack://application:,,,/Fonts/"), "./#My Custom Font Family"); 但是,当我复制使用这种字体的选择时,剪贴板上的xaml类似于以下内容 <Run Text="Foo" FontFamily="./#My Custom Font Family" /> 当我粘贴到同一个RichTex

我在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

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


有什么解决方法吗?

我最终通过改变字体族的初始化方式来解决这个问题

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" />