<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <!--#region ComboBox 样式-->
    <!--  ComBoBox项选中背景色  -->
    <SolidColorBrush x:Key="ComboBoxSelectdBackground" Color="#AA3ba7f2" />
    <!--  ComBoBox项鼠标经过背景色  -->
    <SolidColorBrush x:Key="ComboBoxMouseOverBackground" Color="#553ba7f2" />
    <!--  ComBoBox项选中前景色  -->
    <SolidColorBrush x:Key="ComboBoxSelectedForeground" Color="#DDD" />
    <!--  ComBoBox项鼠标经过前景色  -->
    <SolidColorBrush x:Key="ComboBoxMouseOverForegrond" Color="#DDD" />

    <ControlTemplate x:Key="ComboBoxToggleButton" TargetType="{x:Type ToggleButton}">
        <Grid Height="25" HorizontalAlignment="Stretch">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="30" />
            </Grid.ColumnDefinitions>
            <Border
                Grid.ColumnSpan="2"
                Background="White"
                Opacity="0" />
            <TextBlock
                Grid.Column="1"
                Margin="0,0,5,0"
                HorizontalAlignment="Right"
                VerticalAlignment="Center"
                FontFamily="../Fonts/#iconfont"
                FontSize="14"
                Foreground="#FF23CACA"
                Text="&#xe64d;" />
            <!--<Path
                x:Name="Arrow"
                Grid.Column="1"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Data="M 0 0  6 6 12 0 Z"
                Fill="#aa20FDFA"
                Stretch="None">
                <Path.Effect>
                    <DropShadowEffect
                        BlurRadius="10"
                        Direction="90"
                        Opacity="1"
                        RenderingBias="Quality"
                        ShadowDepth="0"
                        Color="#aa20FDFA" />
                </Path.Effect>
            </Path>-->
        </Grid>
        <!--<ControlTemplate.Triggers>
            <Trigger Property="IsChecked" Value="true">
                <Setter TargetName="Arrow" Property="RenderTransform">
                    <Setter.Value>
                        <RotateTransform Angle="180" CenterX="6" CenterY="3" />
                    </Setter.Value>
                </Setter>
                <Setter TargetName="Arrow" Property="Margin" Value="0,0,0,2" />
            </Trigger>
        </ControlTemplate.Triggers>-->
    </ControlTemplate>

    <Style x:Key="ComboBoxStyle" TargetType="{x:Type ComboBox}">
        <Setter Property="BorderThickness" Value="0" />
        <Setter Property="ItemContainerStyle">
            <Setter.Value>
                <Style TargetType="ComboBoxItem">
                    <Setter Property="Height" Value="25" />
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type ComboBoxItem}">
                                <Grid Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
                                    <Border x:Name="_borderbg" Background="Transparent" />

                                    <TextBlock
                                        x:Name="_txt"
                                        Margin="5,0,3,0"
                                        HorizontalAlignment="Left"
                                        VerticalAlignment="Center"
                                        Foreground="#DDD"
                                        Text="{Binding Content, RelativeSource={RelativeSource TemplatedParent}}" />

                                    <Border
                                        x:Name="_border"
                                        Background="#103153"
                                        Opacity="0" />
                                </Grid>
                                <ControlTemplate.Triggers>
                                    <Trigger Property="IsSelected" Value="true">
                                        <Setter TargetName="_txt" Property="Foreground" Value="{StaticResource ComboBoxSelectedForeground}" />
                                        <Setter TargetName="_borderbg" Property="Background" Value="{StaticResource ComboBoxSelectdBackground}" />
                                    </Trigger>
                                    <MultiTrigger>
                                        <MultiTrigger.Conditions>
                                            <Condition Property="IsSelected" Value="false" />
                                            <Condition Property="IsMouseOver" Value="true" />
                                        </MultiTrigger.Conditions>
                                        <Setter TargetName="_borderbg" Property="Background" Value="{StaticResource ComboBoxMouseOverBackground}" />
                                        <Setter TargetName="_txt" Property="Foreground" Value="{StaticResource ComboBoxMouseOverForegrond}" />
                                    </MultiTrigger>

                                </ControlTemplate.Triggers>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ComboBox}">
                    <Grid>

                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="0.7*" />
                            <ColumnDefinition Width="0.3*" MaxWidth="30" />
                        </Grid.ColumnDefinitions>
                        <Border
                            x:Name="_prybr"
                            Grid.Column="0"
                            Grid.ColumnSpan="2"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            CornerRadius="0" />
                        <ContentPresenter
                            x:Name="ContentSite"
                            Margin="3,3,0,3"
                            HorizontalAlignment="Center"
                            VerticalAlignment="Center"
                            Content="{TemplateBinding SelectionBoxItem}"
                            ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
                            ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
                            IsHitTestVisible="False" />

                        <!--  ToggleButton 已数据绑定到 ComboBox 本身以切换 IsDropDownOpen  -->
                        <ToggleButton
                            x:Name="ToggleButton"
                            Grid.Column="0"
                            Grid.ColumnSpan="2"
                            ClickMode="Press"
                            Focusable="false"
                            IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                            Template="{StaticResource ComboBoxToggleButton}" />
                        <!--  必须将 TextBox 命名为 PART_EditableTextBox，否则 ComboBox 将无法识别它  -->
                        <TextBox
                            x:Name="PART_EditableTextBox"
                            Margin="2,0,0,0"
                            VerticalAlignment="Center"
                            Background="Transparent"
                            BorderThickness="0"
                            Focusable="True"
                            IsReadOnly="{TemplateBinding IsReadOnly}"
                            Visibility="Hidden" />

                        <!--  Popup 可显示 ComboBox 中的项列表。IsOpen 已数据绑定到通过 ComboBoxToggleButton 来切换的 IsDropDownOpen  -->
                        <Popup
                            x:Name="Popup"
                            AllowsTransparency="True"
                            Focusable="False"
                            IsOpen="{TemplateBinding IsDropDownOpen}"
                            Placement="Bottom"
                            PopupAnimation="Slide">
                            <Grid
                                x:Name="DropDown"
                                MinWidth="{TemplateBinding ActualWidth}"
                                MaxHeight="150"
                                SnapsToDevicePixels="True">
                                <Border
                                    x:Name="DropDownBorder"
                                    BorderBrush="#3ba7f2"
                                    BorderThickness="0" />
                                <ScrollViewer
                                    Margin="1"
                                    CanContentScroll="True"
                                    HorizontalScrollBarVisibility="Auto"
                                    SnapsToDevicePixels="True"
                                    VerticalScrollBarVisibility="Auto">
                                    <!--  StackPanel 用于显示子级，方法是将 IsItemsHost 设置为 True  -->
                                    <!--  一下可以设置列表背景色  -->
                                    <StackPanel
                                        Background="#103153"
                                        IsItemsHost="True"
                                        KeyboardNavigation.DirectionalNavigation="Contained" />
                                </ScrollViewer>
                            </Grid>
                        </Popup>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsEditable" Value="true">
                            <Setter TargetName="PART_EditableTextBox" Property="Visibility" Value="Visible" />
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="_prybr" Property="BorderBrush" Value="#aa3ba7f2" />
                            <!--<Setter Property="Background" Value="#553ba7f2" TargetName="_prybr"/>-->
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <!--#endregion-->
</ResourceDictionary>