0

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

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

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

谢谢

4

1 回答 1

0

如果用 a 包装整个应用程序ContentControl并指定它的Foreground,则所有控件都会继承Foreground颜色。如果您的资源文件之一为您Foreground的任何子控件指定了,则Foreground应该向下流向所有子控件... :(

另一种解决方案是使用Silverlight 工具包主题文件中的隐式样式。您可以看到字体颜色的一个资源,并且该颜色通过隐式样式应用于每个 UI 控件。

主题.xaml

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

因此,如果您的资源文件覆盖Foreground属性,您必须像在Theme.xaml工具包文件中一样更改它。创建一个独特的Foreground画笔并在每个控件上应用隐式样式。

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

于 2013-06-27T12:23:50.190 回答