2010-04-14 87 views
0

我有一個自定義字體系列嵌入到我的WPF應用程序中,我可以通過指定基本URI和字體系列名稱來引用它。WPF - 自定義字體系列的複製/粘貼選擇

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

我最終通過改變字體系列初始化的方式來解決這個問題。

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

而最終的結果 - 我的自定義字體被保存在複製/富文本框中粘貼。