有没有办法将Silverlight使用的默认字体(可移植用户界面)更改为自定义字体而不为每个UI元素指定样式?我想避免显式设置样式或将FontFamily绑定到静态资源。
我想我可以使用隐式样式,但是我必须为每个UI控件类型执行它:Button,TextBlock,TextBox等等...
我希望我可以将它添加到我的样式词典中(但当然不允许):
<FontFamily >"TCCEB.TTF#Tw Cen MT"</FontFamily>
答案 0 :(得分:3)
如果您使用ContentControl包装整个应用程序并在其中指定其FontFamily,只要您没有在任何子控件中指定FontFamily,该字体应向下流向所有这些。
答案 1 :(得分:0)
这就是我们所做的:
<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>
远非完美我害怕。