WPF下拉框样式

<!--
**************************************************************** 
* 作    者 :姜  彦 
* 项目名称 :EMRCPOE.Presentation.Style.Default
* 字典名称 :ComboBox 
* 命名空间 :EMRCPOE.Presentation.Style.Default
* CLR 版本 :4.0.30319.42000
* 创建时间 :2019/4/7 1:49:18 
* 当前版本 :1.0.0.0 
* My Email :jiangyan2008.521@gmail.com 
*            jiangyan2008.521@qq.com   
* 描述说明 : 
* 
* 修改历史 : 
* 
****************************************************************
* Copyright @ JiangYan 2019 All rights reserved 
****************************************************************
-->
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:EMRCPOE.Presentation.Style.Default"
                    xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Base.xaml" />
        <ResourceDictionary Source="ErrorTemplate.xaml" />
        <ResourceDictionary>

            <!--Region 普通下拉框专用样式风格-->
            <Style x:Key="FocusVisual">
                <Setter Property="Control.Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Rectangle Margin="2"
                                       SnapsToDevicePixels="true"
                                       Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
                                       StrokeThickness="1"
                                       StrokeDashArray="1 2" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <!--主控件背景色-->
            <LinearGradientBrush x:Key="ComboBox.Static.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFFFFF"
                              Offset="0.0" />
                <GradientStop Color="#FFFFFF"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Static.Border"
                             Color="#ADADAD" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Border"
                             Color="#FFABADB3" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Glyph"
                             Color="#FF000000" />
            <LinearGradientBrush x:Key="ComboBox.MouseOver.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFECF4FC"
                              Offset="0.0" />
                <GradientStop Color="#FFDCECFC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.MouseOver.Border"
                             Color="#FF7EB4EA" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border"
                             Color="#FF7EB4EA" />
            <LinearGradientBrush x:Key="ComboBox.MouseOver.Editable.Button.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFEBF4FC"
                              Offset="0.0" />
                <GradientStop Color="#FFDCECFC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border"
                             Color="#FF7EB4EA" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Glyph"
                             Color="#FF000000" />
            <LinearGradientBrush x:Key="ComboBox.Pressed.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFDAECFC"
                              Offset="0.0" />
                <GradientStop Color="#FFC4E0FC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Pressed.Border"
                             Color="#FF569DE5" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border"
                             Color="#FF569DE5" />
            <LinearGradientBrush x:Key="ComboBox.Pressed.Editable.Button.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFDAEBFC"
                              Offset="0.0" />
                <GradientStop Color="#FFC4E0FC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border"
                             Color="#FF569DE5" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Glyph"
                             Color="#FFBFBFBF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Background"
                             Color="#FFF0F0F0" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Border"
                             Color="#FFD9D9D9" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border"
                             Color="#FFBFBFBF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Static.Glyph"
                             Color="#ADADAD" />
            <Style x:Key="ComboBoxToggleButton"
                   TargetType="{x:Type ToggleButton}">
                <Setter Property="OverridesDefaultStyle"
                        Value="true" />
                <Setter Property="IsTabStop"
                        Value="false" />
                <Setter Property="Focusable"
                        Value="false" />
                <Setter Property="ClickMode"
                        Value="Press" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ToggleButton}">
                            <Border x:Name="templateRoot"
                                    BorderBrush="{StaticResource ComboBox.Static.Border}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    Background="{StaticResource ComboBox.Static.Background}"
                                    SnapsToDevicePixels="true">
                                <Border x:Name="splitBorder"
                                        BorderBrush="Transparent"
                                        BorderThickness="1"
                                        HorizontalAlignment="Right"
                                        Margin="0"
                                        Background="#EDEDED"
                                        SnapsToDevicePixels="true"
                                        Width="25">
                                    <!--下拉按钮背景色-->
                                    <Path x:Name="arrow"
                                          Data="F1 M -1,0 L 5.167,2.66665 L 10.8334,0 L 10.8334,-1.78168 L 5.1667,0.88501 L-1,-1.78168 L-1,0 Z"
                                          Fill="{StaticResource ComboBox.Static.Glyph}"
                                          HorizontalAlignment="Center"
                                          Margin="0"
                                          VerticalAlignment="Center" />
                                </Border>
                            </Border>
                            <ControlTemplate.Triggers>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Static.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Static.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Static.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Static.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsMouseOver"
                                         Value="true">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.MouseOver.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsPressed"
                                         Value="true">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.Pressed.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsEnabled"
                                         Value="false">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.Disabled.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Button.Border}" />
                                </MultiDataTrigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <ControlTemplate x:Key="ComboBoxTemplate"
                             TargetType="{x:Type ComboBox}">
                <Grid x:Name="templateRoot"
                      SnapsToDevicePixels="true">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"
                                          Width="0" />
                    </Grid.ColumnDefinitions>
                    <Popup x:Name="PART_Popup"
                           AllowsTransparency="true"
                           Grid.ColumnSpan="2"
                           IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                           Margin="1"
                           PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"
                           Placement="Bottom">
                        <Themes:SystemDropShadowChrome x:Name="shadow"
                                                       Color="Transparent"
                                                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
                                                       MinWidth="{Binding ActualWidth, ElementName=templateRoot}">
                            <Border x:Name="dropDownBorder"
                                    BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
                                    BorderThickness="1"
                                    Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                                <ScrollViewer x:Name="DropDownScrollViewer">
                                    <Grid x:Name="grid"
                                          RenderOptions.ClearTypeHint="Enabled">
                                        <Canvas x:Name="canvas"
                                                HorizontalAlignment="Left"
                                                Height="0"
                                                VerticalAlignment="Top"
                                                Width="0">
                                            <Rectangle x:Name="opaqueRect"
                                                       Fill="{Binding Background, ElementName=dropDownBorder}"
                                                       Height="{Binding ActualHeight, ElementName=dropDownBorder}"
                                                       Width="{Binding ActualWidth, ElementName=dropDownBorder}" />
                                        </Canvas>
                                        <ItemsPresenter x:Name="ItemsPresenter"
                                                        KeyboardNavigation.DirectionalNavigation="Contained"
                                                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                                    </Grid>
                                </ScrollViewer>
                            </Border>
                        </Themes:SystemDropShadowChrome>
                    </Popup>
                    <ToggleButton x:Name="toggleButton"
                                  BorderBrush="{TemplateBinding BorderBrush}"
                                  BorderThickness="{TemplateBinding BorderThickness}"
                                  Background="{TemplateBinding Background}"
                                  Grid.ColumnSpan="2"
                                  IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                                  Style="{StaticResource ComboBoxToggleButton}" />
                    <ContentPresenter x:Name="contentPresenter"
                                      ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
                                      ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
                                      Content="{TemplateBinding SelectionBoxItem}"
                                      ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}"
                                      HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                      IsHitTestVisible="false"
                                      Margin="{TemplateBinding Padding}"
                                      SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="HasDropShadow"
                             SourceName="PART_Popup"
                             Value="true">
                        <Setter Property="Margin"
                                TargetName="shadow"
                                Value="0,0,5,5" />
                        <Setter Property="Color"
                                TargetName="shadow"
                                Value="#71000000" />
                    </Trigger>
                    <Trigger Property="HasItems"
                             Value="false">
                        <Setter Property="Height"
                                TargetName="dropDownBorder"
                                Value="95" />
                    </Trigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsGrouping"
                                       Value="true" />
                            <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping"
                                       Value="false" />
                        </MultiTrigger.Conditions>
                        <Setter Property="ScrollViewer.CanContentScroll"
                                Value="false" />
                    </MultiTrigger>
                    <Trigger Property="ScrollViewer.CanContentScroll"
                             SourceName="DropDownScrollViewer"
                             Value="false">
                        <Setter Property="Canvas.Top"
                                TargetName="opaqueRect"
                                Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
                        <Setter Property="Canvas.Left"
                                TargetName="opaqueRect"
                                Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
            <SolidColorBrush x:Key="TextBox.Static.Background"
                             Color="#FFFFFFFF" />
            <Style x:Key="ComboBoxEditableTextBox"
                   TargetType="{x:Type TextBox}">
                <Setter Property="OverridesDefaultStyle"
                        Value="true" />
                <Setter Property="AllowDrop"
                        Value="true" />
                <Setter Property="MinWidth"
                        Value="0" />
                <Setter Property="MinHeight"
                        Value="0" />
                <Setter Property="FocusVisualStyle"
                        Value="{x:Null}" />
                <Setter Property="ScrollViewer.PanningMode"
                        Value="VerticalFirst" />
                <Setter Property="Stylus.IsFlicksEnabled"
                        Value="False" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type TextBox}">
                            <ScrollViewer x:Name="PART_ContentHost"
                                          Background="Transparent"
                                          Focusable="false"
                                          HorizontalScrollBarVisibility="Hidden"
                                          VerticalScrollBarVisibility="Hidden" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <ControlTemplate x:Key="ComboBoxEditableTemplate"
                             TargetType="{x:Type ComboBox}">
                <Grid x:Name="templateRoot"
                      SnapsToDevicePixels="true">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"
                                          Width="0" />
                    </Grid.ColumnDefinitions>
                    <Popup x:Name="PART_Popup"
                           AllowsTransparency="true"
                           Grid.ColumnSpan="2"
                           IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}"
                           PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"
                           Placement="Bottom">
                        <Themes:SystemDropShadowChrome x:Name="shadow"
                                                       Color="Transparent"
                                                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
                                                       MinWidth="{Binding ActualWidth, ElementName=templateRoot}">
                            <Border x:Name="dropDownBorder"
                                    BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
                                    BorderThickness="1"
                                    Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                                <ScrollViewer x:Name="DropDownScrollViewer">
                                    <Grid x:Name="grid"
                                          RenderOptions.ClearTypeHint="Enabled">
                                        <Canvas x:Name="canvas"
                                                HorizontalAlignment="Left"
                                                Height="0"
                                                VerticalAlignment="Top"
                                                Width="0">
                                            <Rectangle x:Name="opaqueRect"
                                                       Fill="{Binding Background, ElementName=dropDownBorder}"
                                                       Height="{Binding ActualHeight, ElementName=dropDownBorder}"
                                                       Width="{Binding ActualWidth, ElementName=dropDownBorder}" />
                                        </Canvas>
                                        <ItemsPresenter x:Name="ItemsPresenter"
                                                        KeyboardNavigation.DirectionalNavigation="Contained"
                                                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                                    </Grid>
                                </ScrollViewer>
                            </Border>
                        </Themes:SystemDropShadowChrome>
                    </Popup>
                    <ToggleButton x:Name="toggleButton"
                                  BorderBrush="{TemplateBinding BorderBrush}"
                                  BorderThickness="{TemplateBinding BorderThickness}"
                                  Background="{TemplateBinding Background}"
                                  Grid.ColumnSpan="2"
                                  IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                                  Style="{StaticResource ComboBoxToggleButton}" />
                    <Border x:Name="border"
                            Background="{StaticResource TextBox.Static.Background}"
                            Margin="{TemplateBinding BorderThickness}">
                        <TextBox x:Name="PART_EditableTextBox"
                                 HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                 IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}"
                                 Margin="{TemplateBinding Padding}"
                                 Style="{StaticResource ComboBoxEditableTextBox}"
                                 VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
                    </Border>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled"
                             Value="false">
                        <Setter Property="Opacity"
                                TargetName="border"
                                Value="0.56" />
                    </Trigger>
                    <Trigger Property="IsKeyboardFocusWithin"
                             Value="true">
                        <Setter Property="Foreground"
                                Value="Black" />
                    </Trigger>
                    <Trigger Property="HasDropShadow"
                             SourceName="PART_Popup"
                             Value="true">
                        <Setter Property="Margin"
                                TargetName="shadow"
                                Value="0,0,5,5" />
                        <Setter Property="Color"
                                TargetName="shadow"
                                Value="#71000000" />
                    </Trigger>
                    <Trigger Property="HasItems"
                             Value="false">
                        <Setter Property="Height"
                                TargetName="dropDownBorder"
                                Value="95" />
                    </Trigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsGrouping"
                                       Value="true" />
                            <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping"
                                       Value="false" />
                        </MultiTrigger.Conditions>
                        <Setter Property="ScrollViewer.CanContentScroll"
                                Value="false" />
                    </MultiTrigger>
                    <Trigger Property="ScrollViewer.CanContentScroll"
                             SourceName="DropDownScrollViewer"
                             Value="false">
                        <Setter Property="Canvas.Top"
                                TargetName="opaqueRect"
                                Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
                        <Setter Property="Canvas.Left"
                                TargetName="opaqueRect"
                                Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
            <Style x:Key="ComboBoxDefaultStyle"
                   TargetType="{x:Type ComboBox}">
                <Setter Property="FocusVisualStyle"
                        Value="{StaticResource FocusVisual}" />
                <Setter Property="Background"
                        Value="{StaticResource ComboBox.Static.Background}" />
                <Setter Property="BorderBrush"
                        Value="{StaticResource ComboBox.Static.Border}" />
                <Setter Property="Foreground"
                        Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
                <Setter Property="BorderThickness"
                        Value="1" />
                <Setter Property="ScrollViewer.HorizontalScrollBarVisibility"
                        Value="Auto" />
                <Setter Property="ScrollViewer.VerticalScrollBarVisibility"
                        Value="Auto" />
                <Setter Property="Padding"
                        Value="6,3,5,3" />
                <Setter Property="ScrollViewer.CanContentScroll"
                        Value="true" />
                <Setter Property="ScrollViewer.PanningMode"
                        Value="Both" />
                <Setter Property="Stylus.IsFlicksEnabled"
                        Value="False" />
                <Setter Property="Height"
                        Value="30" />
                <Setter Property="Template"
                        Value="{StaticResource ComboBoxTemplate}" />
                <Setter Property="Validation.ErrorTemplate"
                        Value="{StaticResource ValidationDefaultErrorTemplate }" />
                <Style.Triggers>
                    <Trigger Property="IsEditable"
                             Value="true">
                        <Setter Property="IsTabStop"
                                Value="false" />
                        <Setter Property="Padding"
                                Value="2" />
                        <Setter Property="Template"
                                Value="{StaticResource ComboBoxEditableTemplate}" />
                    </Trigger>
                    <Trigger Property="Validation.HasError"
                             Value="true">
                        <Setter Property="ToolTip"
                                Value="{Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}" />
                    </Trigger>
                </Style.Triggers>
            </Style>
            <!--Region 普通下拉框专用样式风格-->

        </ResourceDictionary>
        <ResourceDictionary>

            <!--Region 普通下拉框默认引用样式风格-->
            <Style x:Key="FocusVisual">
                <Setter Property="Control.Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Rectangle Margin="2"
                                       SnapsToDevicePixels="true"
                                       Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
                                       StrokeThickness="1"
                                       StrokeDashArray="1 2" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <!--主控件背景色-->
            <LinearGradientBrush x:Key="ComboBox.Static.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFFFFF"
                              Offset="0.0" />
                <GradientStop Color="#FFFFFF"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Static.Border"
                             Color="#94B6EF" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Border"
                             Color="#FFABADB3" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Glyph"
                             Color="#FF000000" />
            <LinearGradientBrush x:Key="ComboBox.MouseOver.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFECF4FC"
                              Offset="0.0" />
                <GradientStop Color="#FFDCECFC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.MouseOver.Border"
                             Color="#5B98FF" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border"
                             Color="#FF7EB4EA" />
            <LinearGradientBrush x:Key="ComboBox.MouseOver.Editable.Button.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFEBF4FC"
                              Offset="0.0" />
                <GradientStop Color="#FFDCECFC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border"
                             Color="#FF7EB4EA" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Glyph"
                             Color="#FF000000" />
            <LinearGradientBrush x:Key="ComboBox.Pressed.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFDAECFC"
                              Offset="0.0" />
                <GradientStop Color="#FFC4E0FC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Pressed.Border"
                             Color="#FF569DE5" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border"
                             Color="#FF569DE5" />
            <LinearGradientBrush x:Key="ComboBox.Pressed.Editable.Button.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFDAEBFC"
                              Offset="0.0" />
                <GradientStop Color="#FFC4E0FC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border"
                             Color="#FF569DE5" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Glyph"
                             Color="#FFBFBFBF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Background"
                             Color="#FFF0F0F0" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Border"
                             Color="#FFD9D9D9" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border"
                             Color="#FFBFBFBF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Static.Glyph"
                             Color="#ADADAD" />
            <Style x:Key="ComboBoxToggleButton"
                   TargetType="{x:Type ToggleButton}">
                <Setter Property="OverridesDefaultStyle"
                        Value="true" />
                <Setter Property="IsTabStop"
                        Value="false" />
                <Setter Property="Focusable"
                        Value="false" />
                <Setter Property="ClickMode"
                        Value="Press" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ToggleButton}">
                            <Border x:Name="templateRoot"
                                    BorderBrush="{StaticResource ComboBox.Static.Border}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    Background="{StaticResource ComboBox.Static.Background}"
                                    SnapsToDevicePixels="true">
                                <Border x:Name="splitBorder"
                                        BorderBrush="Transparent"
                                        Background="Transparent"
                                        BorderThickness="1"
                                        HorizontalAlignment="Right"
                                        Margin="3,5,0,5"
                                        SnapsToDevicePixels="true"
                                        Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}">
                                    <Path x:Name="arrow"
                                          Data="F1 M 0,0 L 2.667,2.66665 L 5.3334,0 L 5.3334,-1.78168 L 2.6667,0.88501 L0,-1.78168 L0,0 Z"
                                          Fill="{StaticResource ComboBox.Static.Glyph}"
                                          HorizontalAlignment="Center"
                                          Margin="0"
                                          VerticalAlignment="Center" />
                                </Border>
                            </Border>
                            <ControlTemplate.Triggers>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Static.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Static.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Static.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Static.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsMouseOver"
                                         Value="true">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.MouseOver.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsPressed"
                                         Value="true">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.Pressed.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsEnabled"
                                         Value="false">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.Disabled.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Button.Border}" />
                                </MultiDataTrigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <ControlTemplate x:Key="ComboBoxTemplate"
                             TargetType="{x:Type ComboBox}">
                <Grid x:Name="templateRoot"
                      SnapsToDevicePixels="true">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"
                                          Width="0" />
                    </Grid.ColumnDefinitions>
                    <Popup x:Name="PART_Popup"
                           AllowsTransparency="true"
                           Grid.ColumnSpan="2"
                           IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                           Margin="1"
                           PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"
                           Placement="Bottom">
                        <Themes:SystemDropShadowChrome x:Name="shadow"
                                                       Color="Transparent"
                                                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
                                                       MinWidth="{Binding ActualWidth, ElementName=templateRoot}">
                            <Border x:Name="dropDownBorder"
                                    BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
                                    BorderThickness="1"
                                    Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                                <ScrollViewer x:Name="DropDownScrollViewer">
                                    <Grid x:Name="grid"
                                          RenderOptions.ClearTypeHint="Enabled">
                                        <Canvas x:Name="canvas"
                                                HorizontalAlignment="Left"
                                                Height="0"
                                                VerticalAlignment="Top"
                                                Width="0">
                                            <Rectangle x:Name="opaqueRect"
                                                       Fill="{Binding Background, ElementName=dropDownBorder}"
                                                       Height="{Binding ActualHeight, ElementName=dropDownBorder}"
                                                       Width="{Binding ActualWidth, ElementName=dropDownBorder}" />
                                        </Canvas>
                                        <ItemsPresenter x:Name="ItemsPresenter"
                                                        KeyboardNavigation.DirectionalNavigation="Contained"
                                                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                                    </Grid>
                                </ScrollViewer>
                            </Border>
                        </Themes:SystemDropShadowChrome>
                    </Popup>
                    <ToggleButton x:Name="toggleButton"
                                  BorderBrush="{TemplateBinding BorderBrush}"
                                  BorderThickness="{TemplateBinding BorderThickness}"
                                  Background="{TemplateBinding Background}"
                                  Grid.ColumnSpan="2"
                                  IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                                  Style="{StaticResource ComboBoxToggleButton}" />
                    <ContentPresenter x:Name="contentPresenter"
                                      ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
                                      ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
                                      Content="{TemplateBinding SelectionBoxItem}"
                                      ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}"
                                      HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                      IsHitTestVisible="false"
                                      Margin="{TemplateBinding Padding}"
                                      SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="HasDropShadow"
                             SourceName="PART_Popup"
                             Value="true">
                        <Setter Property="Margin"
                                TargetName="shadow"
                                Value="0,0,5,5" />
                        <Setter Property="Color"
                                TargetName="shadow"
                                Value="#71000000" />
                    </Trigger>
                    <Trigger Property="HasItems"
                             Value="false">
                        <Setter Property="Height"
                                TargetName="dropDownBorder"
                                Value="95" />
                    </Trigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsGrouping"
                                       Value="true" />
                            <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping"
                                       Value="false" />
                        </MultiTrigger.Conditions>
                        <Setter Property="ScrollViewer.CanContentScroll"
                                Value="false" />
                    </MultiTrigger>
                    <Trigger Property="ScrollViewer.CanContentScroll"
                             SourceName="DropDownScrollViewer"
                             Value="false">
                        <Setter Property="Canvas.Top"
                                TargetName="opaqueRect"
                                Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
                        <Setter Property="Canvas.Left"
                                TargetName="opaqueRect"
                                Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
            <SolidColorBrush x:Key="TextBox.Static.Background"
                             Color="#FFFFFFFF" />
            <Style x:Key="ComboBoxEditableTextBox"
                   TargetType="{x:Type TextBox}">
                <Setter Property="OverridesDefaultStyle"
                        Value="true" />
                <Setter Property="AllowDrop"
                        Value="true" />
                <Setter Property="MinWidth"
                        Value="0" />
                <Setter Property="MinHeight"
                        Value="0" />
                <Setter Property="FocusVisualStyle"
                        Value="{x:Null}" />
                <Setter Property="ScrollViewer.PanningMode"
                        Value="VerticalFirst" />
                <Setter Property="Stylus.IsFlicksEnabled"
                        Value="False" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type TextBox}">
                            <ScrollViewer x:Name="PART_ContentHost"
                                          Background="Transparent"
                                          Focusable="false"
                                          HorizontalScrollBarVisibility="Hidden"
                                          VerticalScrollBarVisibility="Hidden" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <ControlTemplate x:Key="ComboBoxEditableTemplate"
                             TargetType="{x:Type ComboBox}">
                <Grid x:Name="templateRoot"
                      SnapsToDevicePixels="true">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"
                                          Width="0" />
                    </Grid.ColumnDefinitions>
                    <Popup x:Name="PART_Popup"
                           AllowsTransparency="true"
                           Grid.ColumnSpan="2"
                           IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}"
                           PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"
                           Placement="Bottom">
                        <Themes:SystemDropShadowChrome x:Name="shadow"
                                                       Color="Transparent"
                                                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
                                                       MinWidth="{Binding ActualWidth, ElementName=templateRoot}">
                            <Border x:Name="dropDownBorder"
                                    BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
                                    BorderThickness="1"
                                    Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                                <ScrollViewer x:Name="DropDownScrollViewer">
                                    <Grid x:Name="grid"
                                          RenderOptions.ClearTypeHint="Enabled">
                                        <Canvas x:Name="canvas"
                                                HorizontalAlignment="Left"
                                                Height="0"
                                                VerticalAlignment="Top"
                                                Width="0">
                                            <Rectangle x:Name="opaqueRect"
                                                       Fill="{Binding Background, ElementName=dropDownBorder}"
                                                       Height="{Binding ActualHeight, ElementName=dropDownBorder}"
                                                       Width="{Binding ActualWidth, ElementName=dropDownBorder}" />
                                        </Canvas>
                                        <ItemsPresenter x:Name="ItemsPresenter"
                                                        KeyboardNavigation.DirectionalNavigation="Contained"
                                                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                                    </Grid>
                                </ScrollViewer>
                            </Border>
                        </Themes:SystemDropShadowChrome>
                    </Popup>
                    <ToggleButton x:Name="toggleButton"
                                  BorderBrush="{TemplateBinding BorderBrush}"
                                  BorderThickness="{TemplateBinding BorderThickness}"
                                  Background="{TemplateBinding Background}"
                                  Grid.ColumnSpan="2"
                                  IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                                  Style="{StaticResource ComboBoxToggleButton}" />
                    <Border x:Name="border"
                            Background="{StaticResource TextBox.Static.Background}"
                            Margin="{TemplateBinding BorderThickness}">
                        <TextBox x:Name="PART_EditableTextBox"
                                 HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                 IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}"
                                 Margin="{TemplateBinding Padding}"
                                 Style="{StaticResource ComboBoxEditableTextBox}"
                                 VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
                    </Border>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled"
                             Value="false">
                        <Setter Property="Opacity"
                                TargetName="border"
                                Value="0.56" />
                    </Trigger>
                    <Trigger Property="IsKeyboardFocusWithin"
                             Value="true">
                        <Setter Property="Foreground"
                                Value="Black" />
                    </Trigger>
                    <Trigger Property="HasDropShadow"
                             SourceName="PART_Popup"
                             Value="true">
                        <Setter Property="Margin"
                                TargetName="shadow"
                                Value="0,0,5,5" />
                        <Setter Property="Color"
                                TargetName="shadow"
                                Value="#71000000" />
                    </Trigger>
                    <Trigger Property="HasItems"
                             Value="false">
                        <Setter Property="Height"
                                TargetName="dropDownBorder"
                                Value="95" />
                    </Trigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsGrouping"
                                       Value="true" />
                            <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping"
                                       Value="false" />
                        </MultiTrigger.Conditions>
                        <Setter Property="ScrollViewer.CanContentScroll"
                                Value="false" />
                    </MultiTrigger>
                    <Trigger Property="ScrollViewer.CanContentScroll"
                             SourceName="DropDownScrollViewer"
                             Value="false">
                        <Setter Property="Canvas.Top"
                                TargetName="opaqueRect"
                                Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
                        <Setter Property="Canvas.Left"
                                TargetName="opaqueRect"
                                Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
            <Style TargetType="{x:Type ComboBox}">
                <Setter Property="FocusVisualStyle"
                        Value="{StaticResource FocusVisual}" />
                <Setter Property="Background"
                        Value="{StaticResource ComboBox.Static.Background}" />
                <Setter Property="BorderBrush"
                        Value="{StaticResource ComboBox.Static.Border}" />
                <Setter Property="Foreground"
                        Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
                <Setter Property="BorderThickness"
                        Value="1" />
                <Setter Property="ScrollViewer.HorizontalScrollBarVisibility"
                        Value="Auto" />
                <Setter Property="ScrollViewer.VerticalScrollBarVisibility"
                        Value="Auto" />
                <Setter Property="Padding"
                        Value="6,3,5,3" />
                <Setter Property="ScrollViewer.CanContentScroll"
                        Value="true" />
                <Setter Property="ScrollViewer.PanningMode"
                        Value="Both" />
                <Setter Property="Stylus.IsFlicksEnabled"
                        Value="False" />
                <Setter Property="Height"
                        Value="30" />
                <Setter Property="Template"
                        Value="{StaticResource ComboBoxTemplate}" />
                <Setter Property="Validation.ErrorTemplate"
                        Value="{StaticResource ValidationDefaultErrorTemplate }" />
                <Style.Triggers>
                    <Trigger Property="IsEditable"
                             Value="true">
                        <Setter Property="IsTabStop"
                                Value="false" />
                        <Setter Property="Padding"
                                Value="2" />
                        <Setter Property="Template"
                                Value="{StaticResource ComboBoxEditableTemplate}" />
                    </Trigger>
                    <Trigger Property="Validation.HasError"
                             Value="true">
                        <Setter Property="ToolTip"
                                Value="{Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}" />
                    </Trigger>
                </Style.Triggers>
            </Style>
            <!--Region 普通下拉框默认引用样式风格-->

        </ResourceDictionary>
        <ResourceDictionary>

            <Style x:Key="FocusVisual">
                <Setter Property="Control.Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Rectangle Margin="2"
                                       SnapsToDevicePixels="true"
                                       Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
                                       StrokeThickness="1"
                                       StrokeDashArray="1 2" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <LinearGradientBrush x:Key="ComboBox.Static.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="Transparent"
                              Offset="0.0" />
                <!--方框背景颜色 -->
                <GradientStop Color="Transparent"
                              Offset="1.0" />
            </LinearGradientBrush>
            <!--方框边框颜色 -->
            <SolidColorBrush x:Key="ComboBox.Static.Border"
                             Color="Red" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Border"
                             Color="#FFABADB3" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Glyph"
                             Color="#FF000000" />
            <LinearGradientBrush x:Key="ComboBox.MouseOver.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="White"
                              Offset="0.0" />
                <!--鼠标移动过时 下拉框背景颜色 -->
                <GradientStop Color="#FFDCECFC"
                              Offset="0.5" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.MouseOver.Border"
                             Color="#B29ADD" />
            <!--鼠标移动过时 下拉框边框颜色 -->
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border"
                             Color="#FF7EB4EA" />
            <LinearGradientBrush x:Key="ComboBox.MouseOver.Editable.Button.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFEBF4FC"
                              Offset="0.0" />
                <GradientStop Color="#FFDCECFC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border"
                             Color="#FF7EB4EA" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Glyph"
                             Color="#FF000000" />
            <LinearGradientBrush x:Key="ComboBox.Pressed.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFDAECFC"
                              Offset="0.0" />
                <GradientStop Color="#FFC4E0FC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Pressed.Border"
                             Color="#FF569DE5" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border"
                             Color="#FF569DE5" />
            <LinearGradientBrush x:Key="ComboBox.Pressed.Editable.Button.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFDAEBFC"
                              Offset="0.0" />
                <GradientStop Color="#FFC4E0FC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border"
                             Color="#FF569DE5" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Glyph"
                             Color="#FFBFBFBF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Background"
                             Color="#FFF0F0F0" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Border"
                             Color="#FFD9D9D9" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border"
                             Color="#FFBFBFBF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Static.Glyph"
                             Color="#FFB1C1F2" />
            <SolidColorBrush x:Key="TextBox.Static.Background"
                             Color="#FFFFFFFF" />

            <ControlTemplate x:Key="ComboBoxTemplate"
                             TargetType="{x:Type ComboBox}">
                <Grid x:Name="templateRoot"
                      SnapsToDevicePixels="true">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"
                                          Width="0" />
                    </Grid.ColumnDefinitions>
                    <Popup x:Name="PART_Popup"
                           AllowsTransparency="true"
                           Grid.ColumnSpan="2"
                           IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                           Margin="1"
                           PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"
                           Placement="Bottom">
                        <Themes:SystemDropShadowChrome x:Name="shadow"
                                                       Color="Transparent"
                                                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
                                                       MinWidth="{Binding ActualWidth, ElementName=templateRoot}">
                            <!--color 是右下角阴影颜色 -->
                            <Border x:Name="dropDownBorder"
                                    BorderBrush="{StaticResource ComboBox.MouseOver.Border}"
                                    BorderThickness="1"
                                    Background="White">
                                <!--下来框popup的 边框颜色 -->
                                <!--下来框popup的 背景颜色 -->
                                <ScrollViewer x:Name="DropDownScrollViewer">
                                    <Grid x:Name="grid"
                                          RenderOptions.ClearTypeHint="Enabled">
                                        <Canvas x:Name="canvas"
                                                HorizontalAlignment="Left"
                                                Height="0"
                                                VerticalAlignment="Top"
                                                Width="0">
                                            <Rectangle x:Name="opaqueRect"
                                                       Fill="{Binding Background, ElementName=dropDownBorder}"
                                                       Height="{Binding ActualHeight, ElementName=dropDownBorder}"
                                                       Width="{Binding ActualWidth, ElementName=dropDownBorder}" />
                                        </Canvas>
                                        <ItemsPresenter x:Name="ItemsPresenter"
                                                        KeyboardNavigation.DirectionalNavigation="Contained"
                                                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                                    </Grid>
                                </ScrollViewer>
                            </Border>
                        </Themes:SystemDropShadowChrome>
                    </Popup>
                    <ToggleButton x:Name="toggleButton"
                                  BorderBrush="{TemplateBinding BorderBrush}"
                                  BorderThickness="{TemplateBinding BorderThickness}"
                                  Background="{TemplateBinding Background}"
                                  Grid.ColumnSpan="2"
                                  IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                                  Style="{DynamicResource ToggleButtonStyle1}" />
                    <ContentPresenter x:Name="contentPresenter"
                                      ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
                                      ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
                                      Content="{TemplateBinding SelectionBoxItem}"
                                      ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}"
                                      HorizontalAlignment="Center"
                                      IsHitTestVisible="false"
                                      Margin="0"
                                      SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                      VerticalAlignment="Center" />
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="HasDropShadow"
                             SourceName="PART_Popup"
                             Value="true">
                        <Setter Property="Margin"
                                TargetName="shadow"
                                Value="0,0,5,5" />
                        <Setter Property="Color"
                                TargetName="shadow"
                                Value="white" />
                        <!--color 是鼠标移动时 popup右下角阴影颜色 -->
                    </Trigger>
                    <Trigger Property="HasItems"
                             Value="false">
                        <Setter Property="Height"
                                TargetName="dropDownBorder"
                                Value="95" />
                    </Trigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsGrouping"
                                       Value="true" />
                            <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping"
                                       Value="false" />
                        </MultiTrigger.Conditions>
                        <Setter Property="ScrollViewer.CanContentScroll"
                                Value="false" />
                    </MultiTrigger>
                    <Trigger Property="ScrollViewer.CanContentScroll"
                             SourceName="DropDownScrollViewer"
                             Value="false">
                        <Setter Property="Canvas.Top"
                                TargetName="opaqueRect"
                                Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
                        <Setter Property="Canvas.Left"
                                TargetName="opaqueRect"
                                Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
            <!--ComboBox 风格样式 -->
            <Style x:Key="key123"
                   TargetType="{x:Type ComboBox}"
                   BasedOn="{StaticResource base}">
                <Setter Property="FocusVisualStyle"
                        Value="{StaticResource FocusVisual}" />
                <Setter Property="Background"
                        Value="{StaticResource ComboBox.Static.Background}" />
                <Setter Property="BorderBrush"
                        Value="{StaticResource ComboBox.Static.Border}" />
                <!--字体颜色 -->
                <!--<Setter Property="Foreground"
                        Value="Blue" />-->
                <Setter Property="BorderThickness"
                        Value="1" />
                <Setter Property="ScrollViewer.HorizontalScrollBarVisibility"
                        Value="Auto" />
                <Setter Property="ScrollViewer.VerticalScrollBarVisibility"
                        Value="Auto" />
                <Setter Property="Padding"
                        Value="6,3,5,3" />
                <Setter Property="ScrollViewer.CanContentScroll"
                        Value="true" />
                <Setter Property="ScrollViewer.PanningMode"
                        Value="Both" />
                <Setter Property="Stylus.IsFlicksEnabled"
                        Value="False" />
                <Setter Property="Template"
                        Value="{StaticResource ComboBoxTemplate}" />
                <Style.Triggers>
                    <Trigger Property="IsEditable"
                             Value="true">
                        <Setter Property="IsTabStop"
                                Value="false" />
                        <Setter Property="Padding"
                                Value="2" />

                    </Trigger>
                </Style.Triggers>
            </Style>
            <Style x:Key="ToggleButtonStyle1"
                   TargetType="{x:Type ToggleButton}">
                <Setter Property="OverridesDefaultStyle"
                        Value="true" />
                <Setter Property="IsTabStop"
                        Value="false" />
                <Setter Property="Focusable"
                        Value="false" />
                <Setter Property="ClickMode"
                        Value="Press" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ToggleButton}">
                            <Border x:Name="templateRoot"
                                    BorderBrush="{StaticResource ComboBox.Static.Border}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    Background="{StaticResource ComboBox.Static.Background}"
                                    SnapsToDevicePixels="true">
                                <Border x:Name="splitBorder"
                                        BorderBrush="Transparent"
                                        Background="Transparent"
                                        BorderThickness="1"
                                        HorizontalAlignment="Right"
                                        Margin="3,5,0,5"
                                        SnapsToDevicePixels="true"
                                        Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}">
                                    <Path x:Name="arrow"
                                          Data="F1 M 0,0 L 2.667,2.66665 L 5.3334,0 L 5.3334,-1.78168 L 2.6667,0.88501 L0,-1.78168 L0,0 Z"
                                          Fill="{StaticResource ComboBox.Static.Glyph}"
                                          HorizontalAlignment="Center"
                                          Margin="0"
                                          VerticalAlignment="Center" />
                                </Border>
                            </Border>
                            <ControlTemplate.Triggers>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Static.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Static.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Static.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Static.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsMouseOver"
                                         Value="true">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.MouseOver.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsPressed"
                                         Value="true">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.Pressed.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsEnabled"
                                         Value="false">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.Disabled.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Button.Border}" />
                                </MultiDataTrigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>

        </ResourceDictionary>
        <ResourceDictionary>
            <!--#region 登录界面下拉框风格样式-->
            <Style x:Key="FocusVisual">
                <Setter Property="Control.Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Rectangle Margin="2"
                                       SnapsToDevicePixels="true"
                                       Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
                                       StrokeThickness="1"
                                       StrokeDashArray="1 2" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <!--#region 登录界面下拉框颜色集合-->
            <!--Combobox主背景色-->
            <LinearGradientBrush x:Key="ComboBox.Static.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFFFFF"
                              Offset="0.0" />
                <GradientStop Color="#FFFFFF"
                              Offset="1.0" />
            </LinearGradientBrush>
            <!--Combobox边框颜色-->
            <SolidColorBrush x:Key="ComboBox.Static.Border"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Border"
                             Color="#FFABADB3" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Glyph"
                             Color="#FF000000" />
            <!--鼠标滑过时下拉框主背景色-->
            <LinearGradientBrush x:Key="ComboBox.MouseOver.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#2E0080FF"
                              Offset="0.0" />
                <GradientStop Color="#2E0080FF"
                              Offset="1.0" />
            </LinearGradientBrush>
            <!--鼠标滑过时下拉框主边框色-->
            <SolidColorBrush x:Key="ComboBox.MouseOver.Border"
                             Color="#FF7EB4EA" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border"
                             Color="#FF7EB4EA" />
            <LinearGradientBrush x:Key="ComboBox.MouseOver.Editable.Button.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFEBF4FC"
                              Offset="0.0" />
                <GradientStop Color="#FFDCECFC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border"
                             Color="#FF7EB4EA" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Glyph"
                             Color="#FF000000" />
            <LinearGradientBrush x:Key="ComboBox.Pressed.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFDAECFC"
                              Offset="0.0" />
                <GradientStop Color="#FFC4E0FC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Pressed.Border"
                             Color="#FF569DE5" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border"
                             Color="#FF569DE5" />
            <LinearGradientBrush x:Key="ComboBox.Pressed.Editable.Button.Background"
                                 EndPoint="0,1"
                                 StartPoint="0,0">
                <GradientStop Color="#FFDAEBFC"
                              Offset="0.0" />
                <GradientStop Color="#FFC4E0FC"
                              Offset="1.0" />
            </LinearGradientBrush>
            <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border"
                             Color="#FF569DE5" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Glyph"
                             Color="#FFBFBFBF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Background"
                             Color="#FFF0F0F0" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Border"
                             Color="#FFD9D9D9" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background"
                             Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border"
                             Color="#FFBFBFBF" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background"
                             Color="Transparent" />
            <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border"
                             Color="Transparent" />
            <!--下拉箭头颜色 -->
            <SolidColorBrush x:Key="ComboBox.Static.Glyph"
                             Color="#33C3D5" />
            <SolidColorBrush x:Key="TextBox.Static.Background"
                             Color="#FFFFFFFF" />
            <!--#endregion 登录界面下拉框颜色集合-->
            <Style x:Key="ComboBoxToggleButton"
                   TargetType="{x:Type ToggleButton}">
                <Setter Property="OverridesDefaultStyle"
                        Value="true" />
                <Setter Property="IsTabStop"
                        Value="false" />
                <Setter Property="Focusable"
                        Value="false" />
                <Setter Property="ClickMode"
                        Value="Press" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ToggleButton}">
                            <Border x:Name="templateRoot"
                                    CornerRadius="0,4,4,0"
                                    BorderBrush="{StaticResource ComboBox.Static.Border}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    Background="{StaticResource ComboBox.Static.Background}"
                                    SnapsToDevicePixels="true">
                                <Border x:Name="splitBorder"
                                        BorderBrush="Transparent"
                                        BorderThickness="1"
                                        HorizontalAlignment="Right"
                                        Margin="0,0,8,0"
                                        SnapsToDevicePixels="true"
                                        Height="25"
                                        Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}">
                                    <Path x:Name="arrow"
                                          Data="M94.8 304.5L512 721.8l416-416-833.2-1.3z m0 0"
                                          Stretch="Fill"
                                          Fill="{StaticResource ComboBox.Static.Glyph}"
                                          HorizontalAlignment="Center"
                                          Margin="0,8,0,8"
                                          VerticalAlignment="Center" />
                                </Border>
                            </Border>
                            <ControlTemplate.Triggers>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Static.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Static.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Static.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Static.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsMouseOver"
                                         Value="true">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.MouseOver.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.MouseOver.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsPressed"
                                         Value="true">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.Pressed.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}"
                                                   Value="true" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Pressed.Editable.Button.Border}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsEnabled"
                                         Value="false">
                                    <Setter Property="Fill"
                                            TargetName="arrow"
                                            Value="{StaticResource ComboBox.Disabled.Glyph}" />
                                </Trigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Border}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}"
                                                   Value="false" />
                                        <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}"
                                                   Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="templateRoot"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Border}" />
                                    <Setter Property="Background"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Button.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="splitBorder"
                                            Value="{StaticResource ComboBox.Disabled.Editable.Button.Border}" />
                                </MultiDataTrigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <ControlTemplate x:Key="ComboBoxTemplate"
                             TargetType="{x:Type ComboBox}">
                <Grid x:Name="templateRoot"
                      SnapsToDevicePixels="true">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"
                                          Width="0" />
                    </Grid.ColumnDefinitions>
                    <!--下拉Popup弹窗-->
                    <Popup x:Name="PART_Popup"
                           AllowsTransparency="true"
                           Grid.ColumnSpan="2"
                           IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                           Margin="1"
                           PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"
                           Placement="Bottom">
                        <Themes:SystemDropShadowChrome x:Name="shadow"
                                                       Color="Transparent"
                                                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
                                                       MinWidth="{Binding ActualWidth, ElementName=templateRoot}">
                            <Border x:Name="dropDownBorder"
                                    BorderBrush="{StaticResource ComboBox.Static.Background}"
                                    BorderThickness="1"
                                    Margin="1,0,1,0"
                                    Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                                <!--ComboBox下拉框背景色-->
                                <ScrollViewer x:Name="DropDownScrollViewer">
                                    <Grid x:Name="grid"
                                          RenderOptions.ClearTypeHint="Enabled">
                                        <Canvas x:Name="canvas"
                                                HorizontalAlignment="Left"
                                                Height="0"
                                                VerticalAlignment="Top"
                                                Width="0">
                                            <Rectangle x:Name="opaqueRect"
                                                       Fill="{Binding Background, ElementName=dropDownBorder}"
                                                       Height="{Binding ActualHeight, ElementName=dropDownBorder}"
                                                       Width="{Binding ActualWidth, ElementName=dropDownBorder}" />
                                            <!--Fill-下拉框填充色-->
                                        </Canvas>
                                        <ItemsPresenter x:Name="ItemsPresenter"
                                                        KeyboardNavigation.DirectionalNavigation="Contained"
                                                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                                    </Grid>
                                </ScrollViewer>
                            </Border>
                        </Themes:SystemDropShadowChrome>
                    </Popup>
                    <!--下拉按钮-->
                    <ToggleButton x:Name="toggleButton"
                                  BorderBrush="{TemplateBinding BorderBrush}"
                                  BorderThickness="{TemplateBinding BorderThickness}"
                                  Background="{TemplateBinding Background}"
                                  Grid.ColumnSpan="2"
                                  IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                                  Style="{StaticResource ComboBoxToggleButton}" />
                    <!--水印-->
                    <Border Grid.Column="0">
                        <TextBlock x:Name="Message"
                                   Padding="0"
                                   Visibility="Collapsed"
                                   Text="{TemplateBinding local:Attach.Hint}"
                                   FontWeight="{TemplateBinding local:Attach.HintFontWeight}"
                                   FontStyle="{TemplateBinding local:Attach.HintFontStyle}"
                                   Foreground="{TemplateBinding Foreground}"
                                   IsHitTestVisible="False"
                                   Opacity="0.5"
                                   HorizontalAlignment="Left"
                                   TextAlignment="Center"
                                   VerticalAlignment="Center"
                                   Margin="5,2,5,2" />
                    </Border>
                    <!--主内容区域-->
                    <ContentPresenter x:Name="contentPresenter"
                                      ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
                                      ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
                                      Content="{TemplateBinding SelectionBoxItem}"
                                      ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}"
                                      HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                      IsHitTestVisible="false"
                                      Margin="{TemplateBinding Padding}"
                                      SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                </Grid>
                <ControlTemplate.Triggers>
                    <!--1.显示水印-->
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}"
                                 Value="">
                        <Setter TargetName="Message"
                                Property="Visibility"
                                Value="Visible" />
                    </DataTrigger>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}"
                                 Value="{x:Null}">
                        <Setter TargetName="Message"
                                Property="Visibility"
                                Value="Visible" />
                    </DataTrigger>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelectionBoxItem}"
                                 Value="{x:Null}">
                        <Setter TargetName="Message"
                                Property="Visibility"
                                Value="Visible" />
                    </DataTrigger>
                    <Trigger Property="HasDropShadow"
                             SourceName="PART_Popup"
                             Value="true">
                        <Setter Property="Margin"
                                TargetName="shadow"
                                Value="0,0,5,5" />
                        <Setter Property="Color"
                                TargetName="shadow"
                                Value="#71000000" />
                    </Trigger>
                    <Trigger Property="HasItems"
                             Value="false">
                        <Setter Property="Height"
                                TargetName="dropDownBorder"
                                Value="95" />
                    </Trigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsGrouping"
                                       Value="true" />
                            <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping"
                                       Value="false" />
                        </MultiTrigger.Conditions>
                        <Setter Property="ScrollViewer.CanContentScroll"
                                Value="false" />
                    </MultiTrigger>
                    <Trigger Property="ScrollViewer.CanContentScroll"
                             SourceName="DropDownScrollViewer"
                             Value="false">
                        <Setter Property="Canvas.Top"
                                TargetName="opaqueRect"
                                Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
                        <Setter Property="Canvas.Left"
                                TargetName="opaqueRect"
                                Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>            
            <Style x:Key="ComboBoxEditableTextBox"
                   TargetType="{x:Type TextBox}">
                <Setter Property="OverridesDefaultStyle"
                        Value="true" />
                <Setter Property="AllowDrop"
                        Value="true" />
                <Setter Property="MinWidth"
                        Value="0" />
                <Setter Property="MinHeight"
                        Value="0" />
                <Setter Property="FocusVisualStyle"
                        Value="{x:Null}" />
                <Setter Property="ScrollViewer.PanningMode"
                        Value="VerticalFirst" />
                <Setter Property="Stylus.IsFlicksEnabled"
                        Value="False" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type TextBox}">
                            <ScrollViewer x:Name="PART_ContentHost"
                                          Background="Transparent"
                                          Focusable="false"
                                          HorizontalScrollBarVisibility="Hidden"
                                          VerticalScrollBarVisibility="Hidden" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <ControlTemplate x:Key="ComboBoxEditableTemplate"
                             TargetType="{x:Type ComboBox}">
                <Grid x:Name="templateRoot"
                      SnapsToDevicePixels="true">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"
                                          Width="0" />
                    </Grid.ColumnDefinitions>
                    <Popup x:Name="PART_Popup"
                           AllowsTransparency="true"
                           Grid.ColumnSpan="2"
                           IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}"
                           PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}"
                           Placement="Bottom">
                        <Themes:SystemDropShadowChrome x:Name="shadow"
                                                       Color="Transparent"
                                                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
                                                       MinWidth="{Binding ActualWidth, ElementName=templateRoot}">
                            <Border x:Name="dropDownBorder"
                                    BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
                                    BorderThickness="1"
                                    Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                                <ScrollViewer x:Name="DropDownScrollViewer">
                                    <Grid x:Name="grid"
                                          RenderOptions.ClearTypeHint="Enabled">
                                        <Canvas x:Name="canvas"
                                                HorizontalAlignment="Left"
                                                Height="0"
                                                VerticalAlignment="Top"
                                                Width="0">
                                            <Rectangle x:Name="opaqueRect"
                                                       Fill="{Binding Background, ElementName=dropDownBorder}"
                                                       Height="{Binding ActualHeight, ElementName=dropDownBorder}"
                                                       Width="{Binding ActualWidth, ElementName=dropDownBorder}" />
                                        </Canvas>
                                        <ItemsPresenter x:Name="ItemsPresenter"
                                                        KeyboardNavigation.DirectionalNavigation="Contained"
                                                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                                    </Grid>
                                </ScrollViewer>
                            </Border>
                        </Themes:SystemDropShadowChrome>
                    </Popup>
                    <ToggleButton x:Name="toggleButton"
                                  BorderBrush="{TemplateBinding BorderBrush}"
                                  BorderThickness="2"
                                  Background="{TemplateBinding Background}"
                                  Grid.ColumnSpan="2"
                                  IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                                  Style="{StaticResource ComboBoxToggleButton}" />
                    <Border x:Name="border"
                            Background="{StaticResource TextBox.Static.Background}"
                            Margin="{TemplateBinding BorderThickness}">
                        <TextBox x:Name="PART_EditableTextBox"
                                 HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                 IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}"
                                 Margin="{TemplateBinding Padding}"
                                 Style="{StaticResource ComboBoxEditableTextBox}"
                                 VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
                    </Border>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled"
                             Value="false">
                        <Setter Property="Opacity"
                                TargetName="border"
                                Value="0.56" />
                    </Trigger>
                    <Trigger Property="IsKeyboardFocusWithin"
                             Value="true">
                        <Setter Property="Foreground"
                                Value="Black" />
                    </Trigger>
                    <Trigger Property="HasDropShadow"
                             SourceName="PART_Popup"
                             Value="true">
                        <Setter Property="Margin"
                                TargetName="shadow"
                                Value="0,0,5,5" />
                        <Setter Property="Color"
                                TargetName="shadow"
                                Value="#71000000" />
                    </Trigger>
                    <Trigger Property="HasItems"
                             Value="false">
                        <Setter Property="Height"
                                TargetName="dropDownBorder"
                                Value="95" />
                    </Trigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsGrouping"
                                       Value="true" />
                            <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping"
                                       Value="false" />
                        </MultiTrigger.Conditions>
                        <Setter Property="ScrollViewer.CanContentScroll"
                                Value="false" />
                    </MultiTrigger>
                    <Trigger Property="ScrollViewer.CanContentScroll"
                             SourceName="DropDownScrollViewer"
                             Value="false">
                        <Setter Property="Canvas.Top"
                                TargetName="opaqueRect"
                                Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
                        <Setter Property="Canvas.Left"
                                TargetName="opaqueRect"
                                Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
            <Style x:Key="ComboBoxLoginStyle"
                   TargetType="{x:Type ComboBox}">
                <Setter Property="FocusVisualStyle"
                        Value="{StaticResource FocusVisual}" />
                <Setter Property="Background"
                        Value="{StaticResource ComboBox.Static.Background}" />
                <Setter Property="BorderBrush"
                        Value="{StaticResource ComboBox.Static.Border}" />
                <!--ComboBox字体颜色-->
                <Setter Property="Foreground"
                        Value="Black" />
                <Setter Property="VerticalContentAlignment"
                        Value="Center" />
                <Setter Property="BorderThickness"
                        Value="0" />
                <Setter Property="ScrollViewer.HorizontalScrollBarVisibility"
                        Value="Auto" />
                <Setter Property="ScrollViewer.VerticalScrollBarVisibility"
                        Value="Auto" />
                <Setter Property="Padding"
                        Value="6,3,5,3" />
                <Setter Property="ScrollViewer.CanContentScroll"
                        Value="true" />
                <Setter Property="ScrollViewer.PanningMode"
                        Value="Both" />
                <Setter Property="Stylus.IsFlicksEnabled"
                        Value="False" />
                <Setter Property="Template"
                        Value="{StaticResource ComboBoxTemplate}" />
                <Style.Triggers>
                    <Trigger Property="IsEditable"
                             Value="true">
                        <Setter Property="IsTabStop"
                                Value="false" />
                        <Setter Property="Padding"
                                Value="2" />
                        <Setter Property="Template"
                                Value="{StaticResource ComboBoxEditableTemplate}" />
                    </Trigger>
                </Style.Triggers>
            </Style>
            <!--#region ComboBoxItemLoginStyle-->
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewHover.Background"
                             Color="#1F26A0DA" />
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewHover.Border"
                             Color="#A826A0DA" />
            <!--首次展开时已选中Item背景色-->
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewSelected.Background"
                             Color="#3D26A0DA" />
            <!--首次展开时已选中Item边框色-->
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewSelected.Border"
                             Color="#FF26A0DA" />
            <!--鼠标滑过已选中Item时背景色-->
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewSelectedHover.Background"
                             Color="#2E0080FF" />
            <!--鼠标滑过已选中Item时边框色-->
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewSelectedHover.Border"
                             Color="#99006CD9" />
            <!--鼠标滑过时未选中的Item时已选中Item背景色-->
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewSelectedNoFocus.Background"
                             Color="#3DDADADA" />
            <!--鼠标滑过时未选中的Item时已选中Item边框色-->
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewSelectedNoFocus.Border"
                             Color="#FFDADADA" />
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewFocus.Border"
                             Color="#FF26A0DA" />
            <!--鼠标滑过时的Item背景色-->
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewHoverFocus.Background"
                             Color="#F4AE00" />
            <!--鼠标滑过时的Item边框色-->
            <SolidColorBrush x:Key="ComboBoxItem.ItemsviewHoverFocus.Border"
                             Color="#F4AE00" />
            <Style x:Key="ComboBoxItemLoginStyle"
                   TargetType="{x:Type ComboBoxItem}">
                <Setter Property="SnapsToDevicePixels"
                        Value="True" />
                <Setter Property="Padding"
                        Value="4,1" />
                <Setter Property="HorizontalContentAlignment"
                        Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" />
                <Setter Property="VerticalContentAlignment"
                        Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" />
                <Setter Property="Background"
                        Value="Transparent" />
                <Setter Property="BorderBrush"
                        Value="Transparent" />
                <Setter Property="BorderThickness"
                        Value="1" />
                <Setter Property="FocusVisualStyle"
                        Value="{StaticResource FocusVisual}" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ComboBoxItem}">
                            <Border x:Name="Bd"
                                    CornerRadius="0"
                                    BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    Background="{TemplateBinding Background}"
                                    Padding="{TemplateBinding Padding}"
                                    SnapsToDevicePixels="true">
                                <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                  SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                                  VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                            </Border>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsEnabled"
                                         Value="False">
                                    <Setter Property="TextElement.Foreground"
                                            TargetName="Bd"
                                            Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
                                </Trigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="False" />
                                        <Condition Property="IsMouseOver"
                                                   Value="True" />
                                        <Condition Property="IsKeyboardFocused"
                                                   Value="False" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewHover.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewHover.Border}" />
                                </MultiTrigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="True" />
                                        <Condition Property="IsMouseOver"
                                                   Value="False" />
                                        <Condition Property="IsKeyboardFocused"
                                                   Value="True" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewSelected.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewSelected.Border}" />
                                </MultiTrigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="True" />
                                        <Condition Property="IsMouseOver"
                                                   Value="True" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewSelectedHover.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewSelectedHover.Border}" />
                                </MultiTrigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="True" />
                                        <Condition Property="IsMouseOver"
                                                   Value="False" />
                                        <Condition Property="IsKeyboardFocused"
                                                   Value="False" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewSelectedNoFocus.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewSelectedNoFocus.Border}" />
                                </MultiTrigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="False" />
                                        <Condition Property="IsMouseOver"
                                                   Value="False" />
                                        <Condition Property="IsKeyboardFocused"
                                                   Value="True" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="BorderBrush"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewFocus.Border}" />
                                </MultiTrigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="False" />
                                        <Condition Property="IsMouseOver"
                                                   Value="True" />
                                        <Condition Property="IsKeyboardFocused"
                                                   Value="True" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Background"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewHoverFocus.Background}" />
                                    <Setter Property="BorderBrush"
                                            TargetName="Bd"
                                            Value="{StaticResource ComboBoxItem.ItemsviewHoverFocus.Border}" />
                                </MultiTrigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <!--#endregion-->

                <!--#endregion 登录界面下拉框风格样式-->
        </ResourceDictionary>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

<!--
*******************************************************************
* 备    注 :
* 
* 
* 
*******************************************************************
 * Copyright @ JiangYan 2019. All rights reserved.
*******************************************************************
-->  

 

posted @ 2019-08-30 19:13  <--青青子衿-->  阅读(944)  评论(0编辑  收藏  举报
// /**/ // 在页脚Html代码 引入 // function btn_donateClick() { var DivPopup = document.getElementById('Div_popup'); var DivMasklayer = document.getElementById('div_masklayer'); DivMasklayer.style.display = 'block'; DivPopup.style.display = 'block'; var h = Div_popup.clientHeight; with (Div_popup.style) { marginTop = -h / 2 + 'px'; } } function MasklayerClick() { var masklayer = document.getElementById('div_masklayer'); var divImg = document.getElementById("Div_popup"); masklayer.style.display = "none"; divImg.style.display = "none"; } setTimeout( function () { document.getElementById('div_masklayer').onclick = MasklayerClick; document.getElementById('btn_donate').onclick = btn_donateClick; var a_gzw = document.getElementById("guanzhuwo"); a_gzw.href = "javascript:void(0);"; $("#guanzhuwo").attr("onclick","follow('33513f9f-ba13-e011-ac81-842b2b196315');"); }, 900);