在WPF中使用自定义字体

时间:2010-09-22 01:12:30

标签: .net wpf

我需要我的WPF应用程序才能使用其他语言的真实字体。我的字体位于项目内名为“fonts”的文件夹中。我正在使用的字体可以免费下载here

由于我的系统中安装了字体,我首先尝试了

 FontFamily="FMBasuru"

我已阅读帖子here并尝试过(这是我正在使用的确切标记,包括字体名称)

<Window.Resources>
        <Style x:Key="SinhalaFont">
            <Setter Property="TextElement.FontFamily" Value="fonts/#FMBasuru"/>
        </Style>
    </Window.Resources>

...

 <TextBlock  Style="{DynamicResource SinhalaFont}">r</TextBlock>

...

我确保使用正确的字体名称而不是字体文件名。 怎么可能我错了?

4 个答案:

答案 0 :(得分:10)

我用这个

尝试了你的代码
  <Setter Property="TextElement.FontFamily" Value="fonts/#Arial Narrow Bold"/>

它成功了。

您是否在构建操作中将字体标记为“资源”?如果还没有,请立即执行此操作并再次尝试使用代码。

答案 1 :(得分:10)

<强>更新 创建文件夹名称字体并复制所需的字体,并将BuildAction更改为Resource

  <Window.Resources>
    <FontFamily x:Key="test" >/Fonts/#Pirulen</FontFamily>
</Window.Resources>
<Grid>
    <TextBlock FontSize="25" HorizontalAlignment="Center" 
               FontFamily="{StaticResource test}">Kishore Kumar</TextBlock>
</Grid>

请参阅此文件

WPF - Add Custom Font

答案 2 :(得分:2)

不使用样式,您只需在Window.xaml中添加如下字体即可 我将字体文件包含在名为“Fonts”的文件夹中。

<Window

 FontFamily ="./Fonts/#Arial"

>

如果您想为特定标签或文本块使用其他字体 你可以像这样覆盖它。您应该将字体文件插入Fonts文件夹。

<TextBlock FontFamily = "./Fonts/#Tahoma" ></TextBlock>

答案 3 :(得分:1)

向您的应用程序添加自定义字体

它在Blend上对我有用,我不了解Visual Studio。

  1. 在Expression Blend中的打开项目中,在项目中的文件下 单击面板,右键单击您的项目名称,然后单击“添加现有” 项目。 enter image description here
  2. 浏览到自定义字体文件(通常带有.ttf文件扩展名),选择自定义字体文件,使其显示在“文件”文本框中,然后单击“打开”。 自定义字体文件将添加到您的应用程序中,并显示在“项目”面板的“文件”下。 enter image description here
  3. 您现在可以在应用程序中嵌入完整字体或字体子集,并将字体应用于应用程序中的文本控件。
  4. 字体将在字体列表中

    enter image description here

    从 - Add a custom font to your application