运用Infragistics ResourceWasher快速更换应用主题颜色

原创|使用教程|编辑:郝浩|2013-10-14 09:48:28.000|阅读 121 次

概述:利用用户界面组件 Infragistics 的 ResourceWasher,可快速更换应用程序主题颜色。

今天为大家介绍一种快速更换应用程序主题颜色的方法。这里推荐一个很好用的工具:用户界面组件 InfragisticsResourceWasher。目前为止,我还没有遇到过比这个更快的工具,只需要简单的几步,就可以立刻更新主题,尤其是如果你的应用程序是由Infragistics下的控件创建的,那速度将会更快。

接下来就为大家展示如何使用这个ResourceWasher将xamGrid的颜色更换成亮丽的秋天主题。下面这个WPF应用程序使用的是非常经典的蓝色主题:

Infragistics,ResourceWasher,Blue主题

首先我们需要定义ResourceWasher对象,这里代码我是在我的View页面中进行操作的,当然你也可以在任何你喜欢的地方进行操作,只需要确保代码能够被执行就可以了。

1.ResourceWasher _washer = new ResourceWasher()
2.{
3. WashMode = WashMode.HueSaturationReplacement,
4.};

同时还设置了WashMode,这里有两个Wash Mode:HueSaturationReplacement 和 SoftLightBlend。HueSaturationReplacement替换色彩和饱和度,但会保留明度值。这也是我为什么喜欢这个工具的原因之一。

我将会在构造函数中定义这个颜色:

_washer.WashColor = new Color { R = 204, G = 119, B = 34 };

当然,你也可以通过访问Colors枚举获取调色板中的标准颜色。

接下来指定将会被刷新的资源文件,ResourceWasher会复制资源文件然后改变复本中的颜色,请参考以下代码:

1.ResourceDictionary rd = new ResourceDictionary();
2.rd.Source = new Uri(@"/;component/Metro/Metro.xamGrid.xaml", UriKind.Relative);
3._washer.SourceDictionary = rd;

这里提醒一下,所有 Metro.xamGrid.xaml 中的资源文件都会被刷新,包括Styles.Shared 和 Styles.WPF。

到这一步,应用程序的颜色还是没有改变,这是因为它还不知道这个被刷新的资源,所以你还需要将这个新的资源添加到总的资源文件中,代码如下:

Application.Current.Resources.MergedDictionaries.Add(_washer);

重启应用程序,就会发现主题已经更新了:

Infragistics,ResourceWasher,autumn主题

怎么样,Infragistics ResourceWasher 使用非常简单吧,只需要几行代码就可以更换主题颜色。赶快下载NetAdvantage for WPF试用吧!



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:慧都控件

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Infragistics Ultimate UI for WPF

提供高速的网格和图表,轻松创建仿Office应用程序的WPF界面框架

NetAdvantage Ultimate

NetAdvantage Ultimate 功能齐全,完全跨平台、跨设备的界面开发套包

在线
客服
在线
QQ
电话
咨询
400-700-1020
购物车 反馈 返回
顶部
在线客服系统
live chat