我需要在弹出列表中更改ComboBox所选项目的突出显示颜色。我发现有几本教程解释了如何执行此操作,但是它们全部都使用Blend(我没有,也无法获得),或者涉及更改系统默认颜色,这对我来说似乎是很烂。

有人可以指出我需要覆盖的模板,还是告诉我需要设置的属性?

最佳答案

覆盖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>

09-17 13:50