有没有人知道如何在整个Silverlight应用程序中设置默认字体(在本例中为颜色)?
这是一个相当大的遗留应用程序,所以我认为我不能利用主题。我已经创建了样式等但不想在整个应用程序中执行此操作,并且他们维护它们等等。
我没有太多的Silverlight / Xaml经验所以请详细说明您的答案,就像我很蠢!
由于
答案 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。
如果有人有更好的解决方案???