1
흰색 배경의 해군 배경이있는 ComboBox
의 스타일을 고치려고합니다. 따라서 드롭 다운 화살표가 흰색이되기를 바랍니다 (지금까지 가지고있는 xaml도 아래에 있습니다).흰색 WPF ComboBox DropDown 화살표 색상을 얻으려면 어떻게해야합니까?
<Style x:Key="ComboBoxStyle" TargetType="ComboBox">
<Setter Property="Background" Value="{StaticResource headerBrush}"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="BorderBrush" Value="{StaticResource headerBorderBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="MinWidth" Value="100"/>
<Setter Property="Height" Value="21"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Padding" Value="5"/>
<Setter Property="Margin" Value="3"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
</Style>
<Style x:Key="ComboBoxItemStyle" TargetType="ComboBoxItem">
<Setter Property="Background" Value="AliceBlue"/>
<Setter Property="Foreground" Value="Navy"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
</Style>
ControlTemplate
을 설정하려면?
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBox">
<Path x:Name="Arrow" Fill="White"/>
</ControlTemplate>
</Setter.Value>
</Setter>
나는 ControlTemplates를 실제로 얻지 못했다. 이 예제의 대상 유형은 ToggleButton으로 xaml 디자이너에서 예외가 발생했습니다. ComboBox로 변경하면 전체 컨트롤이 흰색으로 변한 것 같습니다. 이 문제를 해결할 수있는 간단한 방법이 있습니까 (편집 된 코드 참조)? 감사합니다 – Berryl
Expression Blend를 사용하는 경우 템플릿을 마우스 오른쪽 단추로 클릭하고 템플릿 편집 -> 복사본 편집을 선택하십시오 (올바른 이름이라고 생각합니다). 그렇지 않으면 Reflector를 BamlViewer 추가 기능과 함께 사용하여 PresentationFramework.Aero.dll에서 XAML을 가져와 필요한 부분을 잘라내야합니다. –
편집 한 템플릿의 문제는 ComboBox의 다른 기능을 모두 가지고 있지 않다는 것입니다. Microsoft가 제공 한 템플릿을 살펴보면 다소 복잡하다는 것을 알 수 있습니다. 코드를 복사하고 필요한 변경을하십시오. –