Browse Source

颜色控件简单实现选中效果

liyijie 1 year ago
parent
commit
f8519381d1

+ 6 - 4
PDF Office/CustomControl/CompositeControl/ColorContent.xaml

@@ -119,11 +119,12 @@
             BorderThickness="1"
             CornerRadius="4">
             
-                <StackPanel Orientation="Horizontal">
-                <Grid     Margin="4,0" MouseDown="Grid_MouseDown">
+                <StackPanel Orientation="Horizontal" >
+                <Border x:Name="Grid_Color"   CornerRadius="4"  Margin="0,0" MouseDown="Grid_MouseDown" Width="28"
+                    Height="28"  Background="Transparent" >
+                    <Grid >
                     <Ellipse
                     x:Name="defaultColor"
-                   
             Panel.ZIndex="2"
                     Width="20"
                     Height="20"
@@ -137,7 +138,8 @@
                 
                      Fill="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:ColorContent}, Path=SelectedColor, Mode=OneTime, Converter={StaticResource colorBrushConvert}}"
                     />
-                </Grid>
+                    </Grid>
+                </Border>
                 <cus:ColorDropBox
                     x:Name="ColorDropPicker"
                     Margin="4,0"

+ 3 - 1
PDF Office/CustomControl/CompositeControl/ColorContent.xaml.cs

@@ -186,6 +186,7 @@ namespace PDF_Master.CustomControl.CompositeControl
                     {
                         control.ListColor.SelectedItem = item;
                         control.SelectedColor = colorItem;
+                        control.Grid_Color.Background= new SolidColorBrush(Color.FromArgb(0x00, 0xff, 0xFf, 0xff));
                         if (control.ElcustomColor.Fill == null) { control.ElcustomColor.Fill = co; }
                      
                         isFoundListItem = true;
@@ -197,6 +198,7 @@ namespace PDF_Master.CustomControl.CompositeControl
                 {
                     control.ElcustomColor.Fill = co;
                     control.DefaultColor = co;
+                    control.Grid_Color.Background = new SolidColorBrush(Color.FromArgb(0xff, 0xe2, 0xe3, 0xe5));
                     control.DefaultColorInvoke?.Invoke(co.Color, null);
                     control.ListColor.SelectedItem = null;
                 }
@@ -359,7 +361,7 @@ namespace PDF_Master.CustomControl.CompositeControl
 
         private void Grid_MouseDown(object sender, MouseButtonEventArgs e)
         {
-
+            Grid_Color.Background = new SolidColorBrush(Color.FromArgb(0xff, 0xe2, 0xe3, 0xe5));
             if (ElcustomColor.Fill == null)
             {
                 ElcustomColor.Fill = new SolidColorBrush(Colors.Transparent);