2010-10-19 96 views
2

我想要设计一个WPF组合框的样式,以便它与我们下一个项目正在考虑的黑色主题匹配。WPF设置组合框的颜色向下箭头按钮

我的问题是,如果组合框的背景是黑色的,按钮不会显示出来(因为它也是黑色的)。

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

下面的XAML是我目前有黑色造型组合框:

<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

回答

2

你将不得不修改控件模板的组合框。

控制本身出人意料地是在第一时间但并非当你想到它很复杂。我会推荐进入Blend(如果有的话)并提取ControlTemplate。否则,您可以使用XAMLWriter获取组合框的XAML。

这个unfortunately named page(我不认为这真的是“孩子的东西”,是吗?)有一个这样做的例子。

+0

谢谢您的信息。不幸的是,我没有Blend(我在网上找到的大多数例子都是使用Blend)。我会研究你提供的信息。 – Frinavale 2010-10-19 19:50:21

+0

然后第二个选项可能是你最好的选择。这是一个相当简单的过程来获取模板,但也许是一个更复杂的过程来更新它的手段,取决于你发现你需要做的。 – 2010-10-19 19:51:23