Browse Source

Improved ComboBox style

CPKreuz 2 years ago
parent
commit
40503e7cd8
1 changed files with 26 additions and 14 deletions
  1. 26 14
      src/PixiEditor/Styles/ComboBoxDarkStyle.xaml

+ 26 - 14
src/PixiEditor/Styles/ComboBoxDarkStyle.xaml

@@ -195,22 +195,17 @@
                     <Border Name="Bd" Background="{TemplateBinding Background}" BorderThickness="0,1">
                         <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Stretch"
                                           VerticalAlignment="Center" Margin="4,2"/>
-                        
-                        <Border.Style>
-                            <Style TargetType="Border">
-                                <Setter Property="BorderBrush" Value="Transparent" />
-                                <Style.Triggers>
-                                    <Trigger Property="IsMouseOver" Value="True">
-                                        <Setter Property="BorderBrush" Value="{StaticResource AlmostLightModeAccentColor}" />
-                                    </Trigger>
-                                </Style.Triggers>
-                            </Style>
-
-                        </Border.Style>
                     </Border>
                     <ControlTemplate.Triggers>
-                        <Trigger Property="IsHighlighted" Value="True">
+                        <Trigger Property="IsMouseOver" Value="False">
+                            <Setter Property="BorderBrush" TargetName="Bd" Value="Transparent" />
+                        </Trigger>
+                        <Trigger Property="IsSelected" Value="True">
+                            <Setter Property="Background" TargetName="Bd" Value="{StaticResource MainColor}" />
+                        </Trigger>
+                        <Trigger Property="IsMouseOver" Value="True">
                             <Setter Property="Background" TargetName="Bd" Value="{StaticResource MainColor}" />
+                            <Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource AlmostLightModeAccentColor}" />
                         </Trigger>
                         <Trigger Property="IsEnabled" Value="False">
                             <Setter Property="Foreground" Value="{StaticResource MainColor}" />
@@ -251,7 +246,24 @@
                     <Setter Property="Template">
                         <Setter.Value>
                             <ControlTemplate TargetType="{x:Type ComboBoxItem}">
-                                <TextBlock views:Translator.Enum="{Binding}" />
+                                <Border x:Name="Bd" Background="{TemplateBinding Background}" BorderThickness="0,1">
+                                    <TextBlock views:Translator.Enum="{Binding}" />
+                                </Border>
+                                <ControlTemplate.Triggers>
+                                    <Trigger Property="IsMouseOver" Value="False">
+                                        <Setter Property="BorderBrush" TargetName="Bd" Value="Transparent" />
+                                    </Trigger>
+                                    <Trigger Property="IsSelected" Value="True">
+                                        <Setter Property="Background" TargetName="Bd" Value="{StaticResource MainColor}" />
+                                    </Trigger>
+                                    <Trigger Property="IsMouseOver" Value="True">
+                                        <Setter Property="Background" TargetName="Bd" Value="{StaticResource MainColor}" />
+                                        <Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource AlmostLightModeAccentColor}" />
+                                    </Trigger>
+                                    <Trigger Property="IsEnabled" Value="False">
+                                        <Setter Property="Foreground" Value="{StaticResource MainColor}" />
+                                    </Trigger>
+                                </ControlTemplate.Triggers>
                             </ControlTemplate>
                         </Setter.Value>
                     </Setter>