在运行时动态更改textcolor应用程序

时间:2011-11-14 10:36:42

标签: c# wpf themes skinning

我想在运行时动态地立即更改应用程序中所有控件的文本颜色(前景)。有推荐的方法吗?

感谢。

2 个答案:

答案 0 :(得分:1)

推荐的方法是在单独的文件中定义设计中的所有可能主题。然后在运行时更改主题,最终将更改控件的前景色。

请参阅this simple post,它解释了如何在运行时更改主题。

//declare a resource dictionary
ResourceDictionary skin = new ResourceDictionary();
//load your theme
skin.Source = new Uri(@”ThemeName.xaml”, UriKind.Relative);
Application.Current.Resources.MergedDictionaries.Clear();
//apply it
Application.Current.Resources.MergedDictionaries.Add(skin);

如果您想了解有关主题的更多信息,请转到this page。它有9个样本主题,您可以下载并查看主题的创建方式

答案 1 :(得分:0)

利用样式,资源,资源字典并在运行时应用它们。

这是一篇关于如何做到这一点的好文章:

http://www.codewrecks.com/blog/index.php/2008/05/22/simple-skinnable-and-theme-management-in-wpf-user-interface/