如何更改Silverlight使用的默认字体?

本文关键字:默认 字体 何更改 Silverlight | 更新日期: 2023-09-27 18:10:37

是否有办法将Silverlight使用的默认字体(便携式用户界面)更改为自定义字体,而无需为每个UI元素指定样式?我想避免必须显式地设置样式或将FontFamily绑定到静态资源。

我想我可以使用隐式样式,但是我必须为每个UI控件类型做:按钮,TextBlock, TextBox等,等…

我希望我能把这个添加到我的样式字典中(当然这是不允许的):

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

如何更改Silverlight使用的默认字体?

如果你用ContentControl包装了整个应用程序,并在里面指定了它的FontFamily,只要你没有在你的任何子控件中指定FontFamily,那么字体应该向下流动到所有的应用程序

我们是这样做的:

<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>

恐怕还不够完美。