2011-10-03 52 views
2

我正在使用WPF工具包主題(http://wpf.codeplex.com/wikipage?title=WPF%20Themes)。 其實我只用了ExpressionDark。最簡單的方法來僅更改主題中的顏色

但我想改變每個控件的顏色。我是否需要重寫所有元素並編寫整個大代碼?沒有任何改變顏色的方法嗎?我只需要改變色調。沒有任何應用程序,插件等可以改變這個主題中每種顏色的色調?

+0

我一直在尋找一種方式來使用其他顏色可能被「繼承」單基色,並發現這一點。如果你想支付的話,這可能是一個選擇 http://blogs.infragistics.com/blogs/kiril_matev/archive/2010/08/30/theming-your-infragistics-wpf-line-of-business-applications -made-quick-and-easy.aspx –

回答

0

我不知道任何插件,但通常我會把我所有的顏色在一個單獨的XAML文件,以便根據需要

例如,我可以換出的是資源字典:

<Color x:Key="BorderColor_Base">#FF8DB2E3</Color> 
<Color x:Key="BackgroundColor_Base">White</Color> 
<Color x:Key="BorderBrushDark">#FF8DB2E3</Color> 
<Color x:Key="BorderBrushLight">#FFC0F9FF</Color> 

您還可以覆蓋系統的顏色,使用的語法如:

<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Red" /> 
+0

Actully我想改變現有模板的顏色,而不是定義我自己的調色板。但是,如何在不編輯他們的模板的情況下爲默認控件設置顏色?我試圖重寫SystemColors,但實際上控件中的所有顏色都沒有改變。 – nosbor

+0

@nosbor你用什麼語法來覆蓋'SystemColors'?我在我的回答中添加了用於執行此類操作的語法。如果這不起作用,那麼可能無論您使用的是什麼樣的默認風格,都會使用某種顏色進行硬編碼。 – Rachel

+0

與您的語法完全相同。我試圖將所有這些http://msdn.microsoft.com/en-us/library/ms603159.aspx SystemColors替換爲橙色,並期望看到ogrange屏幕。但是對於例如。按鈕背景不是橙色。我也看到一些顏色使應用程序拋出異常。嘗試覆蓋這些顏色:ControlTextColor,DesktopColor,HighlightTextColor,InfoTextColor,MenuBarColor,MenuColor,MenuHighlightColor,MenuTextColor,WindowColor,WindowTextColor – nosbor

相關問題