2009-08-14 5 views
13

Мне нужно изменить цвет выделения выделенного элемента ComboBox во всплывающем списке. Я нашел несколько руководств, объясняющих, как это сделать, но все они либо используют Blend, которого у меня нет, либо не могут получить, либо связаны с изменением цветов по умолчанию системы - что кажется мне взломом.Set ComboBox выделенный цвет выделения элемента

Может кто-нибудь указать мне на шаблон, который мне нужно переопределить, или сообщить мне свойство, которое мне нужно установить?

ответ

23

Override SystemColors.HighlightBrushKeySystemColors.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

+0

Я продолжаю находить ссылки на SelectionBoxItemTemplate. Это то, что контролирует выделенный элемент во всплывающем окне? – Klay

+3

Вы не меняете системные цвета - вы просто переопределяете их в области ComboBox. –

0

Я создал шаблон для Combobox здесь:

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

Спасибо, Викас

+1

Как вы узнали о «панели» в панели в Стиль ComboBoxItem? –

+0

@JaysonRagasa, я понимаю, что это действительно старый, но если вы или другие читатели не узнали, вы можете получить доступ к шаблонам управления WPF по умолчанию в Visual Studio: [Как извлечь шаблон управления по умолчанию в Visual Studio?] (Https : //stackoverflow.com/questions/8825030/how-to-extract-default-control-template-in-visual-studio). – Sheridan

Смежные вопросы