原創|使用教程|編輯:郝浩|2013-10-14 09:48:28.000|閱讀 383 次
概述:利用用戶界面組件 Infragistics 的 ResourceWasher,可快速更換應用程序主題顏色。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
今天為大家介紹一種快速更換應用程序主題顏色的方法。這里推薦一個很好用的工具:用戶界面組件 Infragistics 的 ResourceWasher。目前為止,我還沒有遇到過比這個更快的工具,只需要簡單的幾步,就可以立刻更新主題,尤其是如果你的應用程序是由Infragistics下的控件創建的,那速度將會更快。
接下來就為大家展示如何使用這個ResourceWasher將xamGrid的顏色更換成亮麗的秋天主題。下面這個WPF應用程序使用的是非常經典的藍色主題:
首先我們需要定義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 使用非常簡單吧,只需要幾行代碼就可以更換主題顏色。趕快下載NetAdvantage for WPF試用吧!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件