views:

1388

answers:

3

I'm trying to add a custom font as a resource in my application. I have a "CustomFont" directory in the application and all the fonts inside of it are set to "Resource"

<Window.Resources>
    <Style x:Key="Gotham-XLight">
        <Setter Property="TextElement.FontFamily" Value="/CustomFonts;Component/#Gotham-XLight" />
    </Style>
</Window.Resources>

And then on my TextBlock I have this: (inside a grid)

    <TextBlock x:Name="TimeTextBlock" Style="{DynamicResource Gotham-XLight}" TextAlignment="Center" FontSize="25" FontWeight="Bold" Foreground="White" Text="TextBlockTimer" Margin="105,242.974,0,226.975" HorizontalAlignment="Left" Width="221.919" />

But I'm not seeing my font as people say. Am I doing something wrong?

A: 

Try this

<Window.Resources>
    <Style x:Key="Gotham-XLight">
        <Setter Property="TextElement.FontFamily" Value="CustomFonts/#Gotham-XLight" />
    </Style>
</Window.Resources>

Also, if you are not planning on changing the style at runtime {StaticResource Gotham-XLight} will be much more performant.

joshperry
A: 

Tried everything in your post, that did >not< work.

John Batdorf
+3  A: 

You may want to check the name of the font, you need to specify the name of the font not the name of the file.

Double click on the font file and it should show a "Font name:" that's what you want to make sure is specified in your style.

joshperry
You're absolutely right. Thanks I did not know that.
John Batdorf