替换所有控件的前景色

4

为了切换到暗黑主题,我正在切换合并的字典。DarkTheme.xaml 包括:

<SolidColorBrush x:Key="GlobalTextColor" Color="#FFFFFF" />
<SolidColorBrush x:Key="GlobalBackColor" Color="#000000" />

然后每个控件模板都有类似以下的内容

Foreground="{DynamicResource GlobalTextColor}"

是否有更优雅的方法一次性替换所有文本,就像高对比度主题那样(不会改变该主题的其他样式),或者使用DynamicResource绑定时承诺的性能惩罚?

2个回答

0
您可以在Visual Studio的解决方案资源管理器中右键单击项目,然后选择在Blend中打开。然后应用所需部分的样式并将其保存在那里。您可以打开另一页或添加这些样式,或者只需选择属性并将其设置为已保存的样式即可。

0

1
在MergedDictionaries中切换样式(用户更改主题)并没有改变颜色。此外,我希望有一些全局设置,可以替换默认文本颜色键。 - Daniel
这是我所知道的最佳实践。抱歉,我无法提供更多帮助。 - Taugenichts

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接