2009-08-14 81 views
13

我需要更改ComboBox的選擇項的高亮顏色,在彈出的列表中。我發現幾個教程解釋如何做到這一點,但他們都要麼使用混合,而我沒有,並且不能獲得,或涉及更改系統默認的顏色 - 這似乎是一個黑客攻擊我。設置ComboBox中選定的項目高亮顏色

有人能指出我需要重寫,或者告訴我,我需要設置該屬性模板?

回答

23

覆蓋的SystemColors.HighlightBrushKey(和SystemColors.HighlightTextBrushKey如果你想):

<ComboBox> 
    <ComboBox.Resources> 
     <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}">Red</SolidColorBrush> 
     <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}">Blue</SolidColorBrush> 
    </ComboBox.Resources> 
    <ComboBoxItem>One</ComboBoxItem> 
    <ComboBoxItem>Two</ComboBoxItem> 
</ComboBox> 
+0

再次,沒有辦法做到這一點,不涉及改變系統顏色? – Klay 2009-08-14 15:56:35

+0

我一直在查找對SelectionBoxItemTemplate的引用。這是什麼控制彈出窗口中突出顯示的項目? – Klay 2009-08-14 15:59:33

+3

你並沒有改變系統顏色 - 你只是在ComboBox的範圍內覆蓋它們。 – 2009-08-14 19:32:16

0

我已經創建了一個組合框模板的位置:

http://wpfstyles.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=31388#DownloadId=78720

感謝, 維卡斯

+1

你如何得到或知道「面板」在在ComboBoxItem樣式? – 2013-01-30 23:33:24

+0

@JaysonRagasa,我知道這是現在真的老了,但如果你或者其他讀者從來沒有發現,你可以訪問在Visual Studio中的默認WPF控件模板:如何提取默認控件模板在Visual Studio?(HTTPS ://stackoverflow.com/questions/8825030/how-to-extract-default-control-template-in-visual-studio)。 – Sheridan 2017-12-18 09:12:55

相關問題