<style x:key= "ComboBoxStyle" targettype= "{x:type ComboBox}" >
<setter property= "FocusVisualStyle" value= "{StaticResource comboboxfocusvisual}"/>
<setter property= "Foreground" value= "{dynamicresource {x:static Systemcolors.windowtextbrushkey}}"/>
<setter property= "Background" value= "{StaticResource buttonnormalbackground}"/>
<setter property= "BorderBrush" value= "{StaticResource buttonnormalborder}"/>
<setter property= "BorderThickness" value= "1"/>
<setter property= "scrollviewer.horizontalscrollbarvisibility" value= "Auto"/>
<setter property= "scrollviewer.verticalscrollbarvisibility" value= "Auto"/>
<setter property= "Padding" value= "4,3"/>
<setter property= "Scrollviewer.cancontentscroll" value= "true"/>
<setter property= "Scrollviewer.panningmode" value= "Both"/>
<setter property= "stylus.isflicksenabled" value= "False"/>
<setter property= "Template" >
<Setter.Value>
<controltemplate targettype= "{x:type ComboBox}" >
<grid x:name= "Maingrid" snapstodevicepixels= "true" >
<Grid.ColumnDefinitions>
<columndefinition width= "*"/>
<columndefinition minwidth= "{dynamicresource {x:static Systemparameters.verticalscrollbarwidthkey}}" Width= "0"/ >
</Grid.ColumnDefinitions>
<VisualStateManager.VisualStateGroups>
<visualstategroup x:name= "CommonStates" >
<visualstate x:name= "Normal"/>
<visualstate x:name= "MouseOver"/>
<visualstate x:name= "Disabled"/>
</VisualStateGroup>
<visualstategroup x:name= "FocusStates" >
<visualstate x:name= "unfocused"/>
<visualstate x:name= "Focused"/>
<visualstate x:name= "Focuseddropdown"/>
</VisualStateGroup>
<visualstategroup x:name= "Editstates" >
<visualstate x:name= "Editable"/>
<visualstate x:name= "uneditable"/>
</VisualStateGroup>
<visualstategroup x:name= "Validationstates" >
<visualstate x:name= "Valid"/>
<visualstate x:name= "invalidfocused"/>
<visualstate x:name= "invalidunfocused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<VisualStateManager.CustomVisualStateManager>
<ei:ExtendedVisualStateManager/>
</VisualStateManager.CustomVisualStateManager>
<popup x:name= "Part_popup" allowstransparency= "true" grid.columnspan= "2" isopen= "{Binding isdropdownopen, Relativesource={relativesource templatedparent}} "margin=" 1 "popupanimation=" {DynamicResource {x:Static Systemparameters.comboboxpopupanimationkey}} "placement=" Bottom ">
<microsoft_windows_themes:systemdropshadowchrome x:name= "Shdw" color= "Transparent" maxheight= "{TemplateBinding Maxdropdownheight} "minwidth=" {Binding actualwidth, elementname=maingrid} "opacitymask=" Black ">
<border x:name= "Dropdownborder" borderthickness= "1" background= "#FF434343" >
<scrollviewer x:name= "Dropdownscrollviewer" >
<grid renderoptions.cleartypehint= "Enabled" >
<canvas horizontalalignment= "left" height= "0" verticalalignment= "Top" width= "0" >
<rectangle x:name= "Opaquerect" height= "{Binding ActualHeight, Elementname=dropdownborder}" width= "{Binding ActualWidth, Elementname=dropdownborder} "fill=" #FFC7C7C7 "/>
</Canvas>
<itemspresenter x:name= "Itemspresenter" keyboardnavigation.directionalnavigation= "Contained" snapstodevicepixels= "{TemplateBinding snapstodevicepixels}" opacitymask= "#FF777777"/>
</Grid>
</ScrollViewer>
</Border>
</Microsoft_Windows_Themes:SystemDropShadowChrome>
</Popup>
<togglebutton grid.columnspan= "2" ischecked= "{Binding isdropdownopen, Mode=twoway, relativesource={ RelativeSource TemplatedParent}} "style=" {DynamicResource Togglebuttonstyle} "background=" #FF777777 "BorderBrush=" # FF434343 "width=" Auto "/>
<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} "opacitymask=" #FF777777 "/>
</Grid>
<ControlTemplate.Triggers>
<trigger property= "Hasdropshadow" sourcename= "Part_popup" value= "true" >
<setter property= "Margin" targetname= "Shdw" value= "0,0,5,5"/>
<setter property= "Color" targetname= "Shdw" value= "#71000000"/>
</Trigger>
<trigger property= "Hasitems" value= "false" >
<setter property= "Height" targetname= "Dropdownborder" value= "Up"/>
<setter property= "BorderBrush" targetname= "Dropdownborder" value= "#FF777777"/>
</Trigger>
<trigger property= "IsEnabled" value= "false" >
<setter property= "Foreground" value= "{dynamicresource {x:static Systemcolors.graytextbrushkey}}"/>
<setter property= "Background" value= "#FFF4F4F4"/>
</Trigger>
<trigger property= "isgrouping" value= "true" >
<setter property= "Scrollviewer.cancontentscroll" value= "false"/>
</Trigger>
<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>
</Setter.Value>
</Setter>
<Style.Triggers>
<trigger property= "iseditable" value= "true" >
<setter property= "BorderBrush" value= "{StaticResource textboxborder}"/>
<setter property= "Background" value= "{dynamicresource {x:static Systemcolors.windowbrushkey}}"/>
<setter property= "Istabstop" value= "false"/>
<setter property= "Padding" value= "3"/>
<setter property= "Template" value= "{StaticResource comboboxeditabletemplate}"/>
</Trigger>
</Style.Triggers>
</Style>
<style x:key= "Togglebuttonstyle" 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}" >
<microsoft_windows_themes:buttonchrome x:name= "Chrome" snapstodevicepixels= "true" background= "#FF777777" Borderbrush= "#FF777777" rendermouseover= "False" >
<VisualStateManager.VisualStateGroups>
<visualstategroup x:name= "CommonStates" >
<visualstate x:name= "Normal"/>
<visualstate x:name= "MouseOver"/>
<visualstate x:name= "Pressed"/>
<visualstate x:name= "Disabled"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<grid horizontalalignment= "Right" width= "{dynamicresource {x:static Systemparameters.verticalscrollbarwidthkey} } ">
<path x:name= "Arrow" data= "{StaticResource downarrowgeometry}" fill= "Black" horizontalalignment= "Center" margin= " 3,1,0,0 "verticalalignment=" Center "/>
</Grid>
</Microsoft_Windows_Themes:ButtonChrome>
<ControlTemplate.Triggers>
<trigger property= "IsEnabled" value= "false" >
<setter property= "Fill" targetname= "Arrow" value= "#AFAFAF"/>
</Trigger>
<trigger property= "IsChecked" value= "False"/>
<eventtrigger routedevent= "frameworkelement.loaded"/>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
ComboBoxStyle and ToggleButton