如何在参考库中使用字体?

时间:2015-05-08 09:41:05

标签: wpf c#-4.0

我有它我的自定义控件。我需要在应用程序的资源中使用dll中的字体。

我编写了代码,但如果在PC上安装了字体,它就能正常工作。

  

new Typeface(new FontFamily(new Uri(" pack:// application:,,, / Astro; Component / Fonts")

如何解决它的问题?我需要在没有安装的情况下使用字体。

1 个答案:

答案 0 :(得分:0)

如果将自定义控件封装在自己的程序集中,则不应该从那里引用应用程序程序集。将字体文件作为资源嵌入自定义控件项目中,或者定义一个独特的样式项目,然后从自定义控件和应用程序中引用它。

project

然后,您可以将XAML字体系列定义并用作资源,如下所示。 XAML位于Fonts.xaml内,该文件位于与字体文件相同的文件夹中:

<FontFamily x:Key="ColaborateThin">./#Colaborate Thin</FontFamily>
<FontFamily x:Key="ColaborateRegular">./#Colaborate Regular</FontFamily>
<FontFamily x:Key="ColaborateBold">./#Colaborate Bold</FontFamily>
<FontFamily x:Key="DroidSansRegular">./#Droid Sans Regular</FontFamily>
<FontFamily x:Key="SegoeRegular">Segoe</FontFamily>

<Style x:Key="H1">
    <Setter Property="TextElement.FontFamily" Value="{StaticResource ColaborateThin}" />
    <Setter Property="TextElement.FontSize" Value="21px" />
    <Setter Property ="TextElement.Foreground" Value="{StaticResource PrimaryBrush}" />
</Style>