WPF设置ComboBox向下箭头按钮的颜色

时间:2010-10-19 19:40:42

标签: wpf combobox skinning

我正在尝试设置WPF ComboBox的样式,使其与我们下一个项目正在考虑的黑色主题相匹配。

我的问题是,如果ComboBox的背景为黑色,则按钮不显示(因为它也是黑色)。

出于某种原因,我无法找到有关如何更改颜色的任何信息。

以下XAML是我目前用黑色设计ComboBox的方式:

<ComboBox Name="myComboBox" VerticalAlignment="Top" Width="120"  HorizontalAlignment="Right">
    <ComboBox.Resources>
        <LinearGradientBrush  x:Key="{x:Static SystemColors.HighlightBrushKey}"  StartPoint="0,0" EndPoint="0,1">
            <GradientStop Color="#FFCBCBCB" Offset="0.0"/>
            <GradientStop Color="#FF7C7C7C" Offset="0.3"/>
            <GradientStop Color="black" Offset="1"></GradientStop>
        </LinearGradientBrush>
    </ComboBox.Resources>
    <ComboBox.Background>
        <LinearGradientBrush StartPoint="0,0" EndPoint="0,0.5">
            <GradientStop Color="white" Offset="0"/>
            <GradientStop Color="black" Offset="1"/>
        </LinearGradientBrush>
    </ComboBox.Background>
    <ComboBoxItem Name="cbi1">Item1</ComboBoxItem>
    <ComboBoxItem  Name="cbi2">Item2</ComboBoxItem>
    <ComboBoxItem Name="cbi3">Item3</ComboBoxItem>
</ComboBox>

非常感谢有关该主题的任何帮助。

谢谢,

-Frinny

1 个答案:

答案 0 :(得分:2)

您将不得不修改ComboBox的ControlTemplate。

控制本身令人惊讶地首先 - 但不是 - 当你想到它复杂时。我建议进入Blend(如果你有的话)并提取ControlTemplate。否则,您可以使用XAMLWriter获取ComboBox的XAML。

unfortunately named page(我不认为这真的是“孩子的东西”,你呢?)有一个做这两件事的例子。