Jaco Briers
Jaco Briers

Reputation: 1715

How do I change the default font used by Silverlight?

Is there any way to change the default font (Portable User Interface) used by Silverlight to a custom font without specifying a style for every single UI element? I want to avoid having to explicitly set a style or bind the FontFamily it to a static resource.

I suppose I can use implicit styles, but then I have to do it for EVERY UI control type: Button, TextBlock, TextBox, etc, etc...

I wish I could just add this to my Style Dictionary (but of course it's not allowed):

<FontFamily >"TCCEB.TTF#Tw Cen MT"</FontFamily> 

Upvotes: 5

Views: 3937

Answers (2)

Justin XL
Justin XL

Reputation: 39006

If you wrap your entire application with a ContentControl and specify its FontFamily in there, as long as you don't specify the FontFamily in any of your child controls, the font should flow down to all of them.

Upvotes: 3

Pawel Lesnikowski
Pawel Lesnikowski

Reputation: 6391

This is what we did:

<Application.Resources>
    <FontFamily x:Key="DefaultFontFamily">/MyName.MyApp;component/Assets/segoeui.ttf#Segoe UI</FontFamily>

    <Style TargetType="Button">
        <Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}"/>
        <Setter Property="FontSize" Value="14.666"/>
    </Style>

    <Style TargetType="HyperlinkButton">
        <Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}"/>
        <Setter Property="FontSize" Value="14.666"/>
    </Style>

    ...

</Application.Resources>

Far from perfect I'm afraid.

Upvotes: 0

Related Questions