2012-10-03 5 views
0

가능한 중복 :
wpf set ComboBox selected item highlight color기본 파란색

우선이가 대답 한 경우, 나는 찾기 위해 노력하고 모든 저녁 구글을 검색 한 죄송합니다 솔루션과 심지어 내가 뭘 찾고 있는지 확실하지 않습니다.

내 문제는 기본 시스템의 파란색을 나타내는 Combobox/버튼 등을 클릭하거나 마우스를 올려 놓을 때 문제가되는데,이를 제거하거나 콤보 상자의 선택 항목 위로 마우스를 가져갈 때 사용하는 회색으로 변경하고 싶습니다. . 이것은 WPF 프로젝트이며 문제가 무엇인지 보여주기 위해 몇 가지 그림을 추가했습니다. 나는 운이없는 몇 가지 다른 것들을 시도했다. 내가 간단한 설정을 간과 해주기를 바라고있다. 높은 수준에서

enter image description here

+0

을 혼란을 필요로하는 기본 색상을 변경하려면 , 또는 컨트롤을 때 덮여있어. 두 개의 다른 동물입니다. –

+0

Minecraft 내가 맞다 – EaterOfCode

+0

@TonyHopkinson은 젊음을 알고있다. 시스템 색을 얻는 파란색 콤보 박스가 – EaterOfCode

답변

0

당신은 style your ComboBox해야합니다.

완전히 다른 모양으로 만드는 방법에 대해서는 blog 게시물을 참조하십시오.

은 (이 blog에서 가져온) xmal 이러한 유형의이 이상 공중 선회 될 때, 당신이 컨트롤에서 선택한 항목의 색상을 변경하고 싶지 않는

<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> 
관련 문제