在Silverlight应用程序中设置默认字体

时间:2013-06-27 10:19:30

标签: silverlight xaml fonts styles

有没有人知道如何在整个Silverlight应用程序中设置默认字体(在本例中为颜色)?

这是一个相当大的遗留应用程序,所以我认为我不能利用主题。我已经创建了样式等但不想在整个应用程序中执行此操作,并且他们维护它们等等。

我没有太多的Silverlight / Xaml经验所以请详细说明您的答案,就像我很蠢!

由于

1 个答案:

答案 0 :(得分:0)

如果您使用ContentControl打包整个应用程序并指定其Foreground,则所有控件都会继承Foreground颜色。如果您的某个资源文件为您的任何子控件指定了Foreground,则Foreground应向下流向所有这些控件...... :(

另一种解决方案是使用Silverlight toolkit theme files中的隐式样式。您可以看到一种字体颜色资源,此颜色通过implicit style应用于每个UI控件。

<强> Theme.xaml

<SolidColorBrush x:Key="TextBrush" Color="#FF152937" />
...
<Style TargetType="Button">
    <Setter Property="Foreground" Value="{StaticResource TextBrush}" />

因此,如果您的资源文件覆盖Foreground属性,则必须在Theme.xaml工具包文件中进行更改。创建一个独特的Foreground画笔,并在每个控件上使用implicit style

如果有人有更好的解决方案???