一个Combobox 由以下四个部分组成,可分别设置样式
设置ComboBoxItem样式
<Style x:Key="ComboboxItemStyle" TargetType="ComboBoxItem">
<Setter Property="FontSize" Value="15"/>
<Setter Property="Foreground" Value="#787878"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBoxItem">
<Border x:Name="itemBorder" Height="35" Width="35" Background="Transparent" Margin="8" CornerRadius="3">
<ContentPresenter Margin="{TemplateBinding Padding}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsHighlighted" Value="True">
<Setter Property="Background" Value="#DBDBDB" TargetName="itemBorder"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
ComboBoxItem的属性 IsHighlighted 在获得焦点时触发, IsSelected 在被选中时触发
设置按钮样式
<Style x:Key="ComboBoxToggleButtonStyle" TargetType="ToggleButton">
<Setter Property="IsTabStop" Value="false" />
<Setter Property="ClickMode" Value="Press" />
<Setter Property="MinHeight" Value="22"></Setter>
<Setter Property="MinWidth" Value="80"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Grid>
<Border CornerRadius="8" BorderThickness="1" BorderBrush="#787878" Background="White">
</Border>
<!--倒三角的颜色#0099ff-->
<Path Height="5" x:Name="Path1" HorizontalAlignment="Right"
VerticalAlignment="Center" Margin="5,0,15,0" Width="8"
Fill="#FFA8AAAC" Stretch="Fill" Stroke="#808080"
Data="M0.5,0.5 L9.5,0.5 L5.0625,9.5 L5.0625,9.5 z" >
<