2014-06-30 33 views
0

我有自定義選項卡控制,其中顏色如何結合顏色內部Windows資源在WPF

<Window.Resources> 
     <Color x:Key="TabControl_BackgroundColor_Base" >Blue</Color> 
     ....... 
</Window.Resources> 

給出瞭如何結合顏色=藍色到DynamicResource。 所以藍色可以是棕色,紅色,白色,綠色取決於用戶的選擇。

通過這樣說,我的意思是用戶可以改變顏色。現在我在這裏寫作藍色。我希望它是動態的,例如我在我的應用程序中爲我的窗口背景賦予動態顏色。

Background="{DynamicResource DynamicBG}" 

有什麼辦法可以在不改變很多代碼的情況下完成這個任務嗎?

+0

創建主題。 – Aybe

+1

不清楚「如何給這個動態的顏色,因爲我把它給我的窗口,如」,詳細解釋 – Sivasubramanian

+0

現在我寫紅色裏面的顏色,我想給它動態的顏色,顏色可以由用戶改變。 –

回答

0

這應該使用XAML和後面的代碼完成。首先,在XAML添加控件(例如名爲cmbColor的組合框)中選擇顏色並使用您提及的所有顏色填充顏色。其次,在背後廣告爲組合框事件處理代碼如下所示:

cmbColor.SelectrionChanged+=()=> 
{ 
    // assign color to your win or main grid background using switch statement 
    switch(cmbColor.Text) 
    { 
     case "Blue": gridMain.Background = Brushes.Blue; break; 
     case "Green": gridMain.Background = Brushes.Green; break; 
     default: break; 
     } 
} 

或者,您可以添加所有的色彩贏得ResourceDictionary中(甚至創造每一個每一個主題),其用戶可以選擇。

Rgds,

+0

我已經完成了,使用Combobox。我可以更改我的應用程序的背景顏色,但我無法更改Tab項目的顏色。因爲我很難在這裏寫藍色

+0

然後,您應該使用類似的技術將動態格式應用於此控件。 Rgds, –

+0

如何在我的代碼中執行此操作? –

相關問題