我的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页面与自定义字体系列不在同一目录中。
有关解决方法的任何想法吗?
答案 0 :(得分:0)
我最后通过改变字体系列的初始化方式解决了这个问题。
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" />
和最终结果 - 在富文本框中复制/粘贴时保留我的自定义字体。