2010-10-19 128 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