Reputation: 1715
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
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
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