Pārlūkot izejas kodu

签名-鼠标按下时手绘提示文案消失

zhuyi 2 gadi atpakaļ
vecāks
revīzija
520a275e0c

+ 34 - 1
PDF Office/DataConvert/ListCountToVisible.cs.cs

@@ -19,7 +19,7 @@ namespace PDF_Office.DataConvert
             }
             else
             {
-                if ((int)value==0)
+                if ((int)value == 0)
                 {
                     return Visibility.Visible;
                 }
@@ -35,4 +35,37 @@ namespace PDF_Office.DataConvert
             throw new NotImplementedException();
         }
     }
+
+
+    public class ListCountAndBoolToVisible : IMultiValueConverter
+    {
+        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
+        {
+            if (values[0] == null || values[1] == null)
+            {
+                return Visibility.Collapsed;
+            }
+            else
+            {
+                if ((int)values[0] == 0 && (bool)values[1])
+                {
+                    return Visibility.Collapsed;
+                }
+
+                if ((int)values[0] == 0)
+                {
+                    return Visibility.Visible;
+                }
+                else
+                {
+                    return Visibility.Collapsed;
+                }
+            }
+        }
+
+        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
+        {
+            throw new NotImplementedException();
+        }
+    }
 }

+ 23 - 0
PDF Office/ViewModels/PropertyPanel/AnnotPanel/SignatureCreateDialogViewModel.cs

@@ -162,6 +162,29 @@ namespace PDF_Office.ViewModels.PropertyPanel.AnnotPanel
             }
         }
 
+        private bool isMouseDown = false;
+
+        public bool IsMouseDown
+        {
+            get { return isMouseDown; }
+            set
+            {
+                SetProperty(ref isMouseDown, value);
+            }
+        }
+
+
+        private Visibility showPlanGrid = Visibility.Visible;
+
+        public Visibility ShowPlanGrid
+        {
+            get { return showPlanGrid; }
+            set
+            {
+                SetProperty(ref showPlanGrid, value);
+            }
+        }
+
         private int imageRadioButtonIndex = 1;
 
         public int ImageRadioButtonIndex

+ 9 - 2
PDF Office/Views/PropertyPanel/AnnotPanel/SignatureCreateDialog.xaml

@@ -19,6 +19,7 @@
         </Style>
         <dataconvert:UnVisivleConvert x:Key="UnVisivleConvert"/>
         <dataconvert:IntAndTagToBoolMultiBinding x:Key="IntAndTagToBoolMultiBinding"/>
+        <dataconvert:ListCountAndBoolToVisible x:Key="ListCountAndBoolToVisible"/>
         <dataconvert:IntToColorBrush x:Key="IntToColorBrush"/>
         <dataconvert:ListCountToVisible x:Key="ListCountToVisible"/>
         <dataconvert:CenterToolTipConverter x:Key="CenterToolTipConverter"/>
@@ -168,9 +169,15 @@
                         </Grid.ColumnDefinitions>
                         <Border Grid.Column="1"  Height="182" BorderThickness="1" CornerRadius="4" BorderBrush="{StaticResource color.field.border.norm}">
                             <Grid>
-                                <InkCanvas x:Name="inkCanvas"   DefaultDrawingAttributes="{Binding DrawingAttributeObject}" Strokes="{Binding StrokesObject}"/>
+                                <InkCanvas x:Name="inkCanvas" PreviewMouseLeftButtonDown="inkCanvas_MouseLeftButtonDown"  PreviewMouseLeftButtonUp="inkCanvas_MouseLeftButtonUp"  DefaultDrawingAttributes="{Binding DrawingAttributeObject}" Strokes="{Binding StrokesObject}"/>
 
-                                <Grid Opacity="0.7" x:Name="PlanGrid"   IsHitTestVisible="False" Background="#F3F3F3" Visibility="{Binding StrokesObject.Count,Converter={StaticResource ListCountToVisible}}">
+                                <Grid Opacity="0.7" x:Name="PlanGrid"   IsHitTestVisible="False" Background="#F3F3F3">
+                                    <Grid.Visibility>
+                                        <MultiBinding Converter="{StaticResource ListCountAndBoolToVisible }" Mode="OneWay">
+                                            <Binding Path="StrokesObject.Count"/>
+                                            <Binding Path="IsMouseDown"/>
+                                        </MultiBinding>
+                                    </Grid.Visibility>
                                     <TextBlock Text="此处绘制签名" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                                 </Grid>
                                 <Button Style="{StaticResource btn.sec}" Margin="0,0,8,8" Width="43" Height="24" HorizontalAlignment="Right" VerticalAlignment="Bottom" Content="Clear" Command="{Binding ClearInkCanvasCommnad}" Visibility="{Binding ElementName=PlanGrid,Path=Visibility,Converter={StaticResource UnVisivleConvert}}"/>

+ 10 - 0
PDF Office/Views/PropertyPanel/AnnotPanel/SignatureCreateDialog.xaml.cs

@@ -51,5 +51,15 @@ namespace PDF_Office.Views.PropertyPanel.AnnotPanel
                 }
             }
         }
+
+        private void inkCanvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            (DataContext as SignatureCreateDialogViewModel).IsMouseDown = true;
+        }
+
+        private void inkCanvas_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
+        {
+            (DataContext as SignatureCreateDialogViewModel).IsMouseDown = false;
+        }
     }
 }