2012-10-03 115 views
0

可能重複:
wpf set ComboBox selected item highlight color默認藍色

首先對不起,如果這已回答了,我一直在瀏覽谷歌整個晚上試圖找到一個解決方案,甚至不知道我正在尋找的是正確的。

我的問題是當我點擊/懸停在組合框/按鈕等它顯示默認系統藍色,我希望能夠將其刪除或將其更改爲我在組合框中選擇時使用的灰色。這是一個WPF項目,我添加了一些圖片來顯示問題所在。 我已經嘗試了幾件不同的事情,沒有運氣。我希望我忽略了一個簡單的設置。

enter image description here

+0

困惑你想要做更改選定項目的顏色的控制,這樣做,當它正在上空盤旋的默認顏色,或者當它被盤旋時的控制。兩種不同的動物。 –

+0

我的世界我是對的 – EaterOfCode

+0

@TonyHopkinson知道青年它的藍色組合框獲得系統顏色 – EaterOfCode

回答

0

在高層次上,你需要style your ComboBox

這裏是一個很好的blog後如何使它看起來完全不同。

要改變,你需要這種類型的Xmal位的(從這個blog拍攝)

<ControlTemplate x:Key="CustomToggleButton" TargetType="ToggleButton"> 
    <Grid> 
     <Border Name="Border" /> 
     <Border Name="SmallBorder" /> 
     <Path Name="Arrow" /> 
    </Grid> 
</ControlTemplate> 

<Style TargetType="{x:Type ComboBoxItem}"> 
    <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" /> 
    <Setter Property="Control.Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ComboBoxItem}"> 
       <Border> 
        <ContentPresenter /> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

<Style TargetType="{x:Type ComboBox}"> 
    <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" /> 
    <Setter Property="Control.Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ComboBox"> 
       <Grid> 
        <ToggleButton Template="{StaticResource CustomToggleButton}" /> 
        <ContentPresenter /> 
        <TextBox /> 
        <Popup> 
         <Grid> 
          <Border> 
           <ScrollViewer> 
            <ItemsPresenter /> 
           </ScrollViewer> 
          </Border> 
         </Grid> 
        </Popup> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
相關問題