【问题标题】:How do I change the default font used by Silverlight?如何更改 Silverlight 使用的默认字体?
【发布时间】:2011-12-03 03:36:53
【问题描述】:

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

我想我可以使用隐式样式,但是我必须为每个 UI 控件类型都这样做:按钮、文本块、文本框等...

我希望我可以将其添加到我的样式字典中(但当然不允许这样做):

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

【问题讨论】:

    标签: c# silverlight xaml fonts styles


    【解决方案1】:

    如果您使用 ContentControl 包装整个应用程序并在其中指定其 FontFamily,只要您未在任何子控件中指定 FontFamily,字体应向下流向所有子控件。

    【讨论】:

    • 谢谢,它有效。我还必须为 ChildWindow 设置一个隐式样式(用于模式对话),因为它不会继承 FontFamily。
    【解决方案2】:

    这就是我们所做的:

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

    恐怕远非完美。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 2011-06-23
      • 1970-01-01
      • 1970-01-01
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多