Forráskód Böngészése

PDFEdit(Windows) - 调整文字编辑下拉框高保真交互

liyuxuan 1 éve
szülő
commit
d3cea4cbb8

+ 1 - 1
compdfkit_demo_windows/compdfkit/edit-ctrl-demo/MainWindow.xaml

@@ -311,7 +311,7 @@
                         <RowDefinition Height="*"></RowDefinition>
                     </Grid.RowDefinitions>
 
-                    <Border Background="#F2F3F5">
+                    <Border Name="PDFEditTool" Background="#F2F3F5">
                         <StackPanel  Orientation="Horizontal" HorizontalAlignment="Center">
 
                             <!--文字编辑按钮-->

+ 29 - 11
compdfkit_demo_windows/compdfkit/edit-ctrl-demo/MainWindow.xaml.cs

@@ -281,13 +281,31 @@ namespace edit_ctrl_demo
             }
 
             if (e.EditType == CPDFEditType.EditImage && pdfViewControl!=null)
+            {
+                UIElement pageView=sender as UIElement;
+                if(pageView!=null)
+                {
+                    pageView.MouseLeftButtonUp += PageView_MouseLeftButtonUp;
+                }
+              
+                return;
+            }
+        }
+
+        private void PageView_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
+        {
+            UIElement pageView = sender as UIElement;
+            if (pageView != null)
+            {
+                pageView.MouseLeftButtonUp -= PageView_MouseLeftButtonUp;
+            }
+            if(lastPDFEditEvent!=null && lastPDFEditEvent.EditType==CPDFEditType.EditImage)
             {
                 PDFImageEditControl imageEditControl = new PDFImageEditControl();
                 imageEditControl.InitWithPDFViewer(pdfViewControl.PDFView);
-                imageEditControl.SetPDFImageEditData(e);
+                imageEditControl.SetPDFImageEditData(lastPDFEditEvent);
                 PropertyContainer.Child = imageEditControl;
                 PropertyContainer.Visibility = Visibility.Visible;
-                return;
             }
         }
 
@@ -625,6 +643,7 @@ namespace edit_ctrl_demo
                 ClearPDFEditState(senderBtn);
                 if (senderBtn.IsChecked == true)
                 {
+                    pdfViewControl.PDFView?.SetMouseMode(MouseModes.PanTool);
                     pdfViewControl.PDFView?.SetPDFEditType(CPDFEditType.EditText);
                     pdfViewControl.PDFView?.SetPDFEditCreateType(CPDFEditType.EditText);
                     pdfViewControl.PDFView?.SetMouseMode(MouseModes.PDFEdit);
@@ -632,9 +651,7 @@ namespace edit_ctrl_demo
                 }
                 else
                 {
-                    pdfViewControl.PDFView?.SetPDFEditType(CPDFEditType.None);
-                    pdfViewControl.PDFView?.SetMouseMode(MouseModes.PanTool);
-                    pdfViewControl.PDFView?.ReloadDocument();
+                    pdfViewControl.PDFView?.SetPDFEditCreateType(CPDFEditType.None);
                 }
             }
         }
@@ -649,7 +666,7 @@ namespace edit_ctrl_demo
             {
                 ClearPDFEditState(senderBtn);
                 senderBtn.IsChecked = false;
-                pdfViewControl.PDFView?.SetPDFEditType(CPDFEditType.EditImage);
+                pdfViewControl.PDFView?.SetPDFEditType(CPDFEditType.EditImage|CPDFEditType.EditText);
                 pdfViewControl.PDFView?.SetMouseMode(MouseModes.PDFEdit);
                 pdfViewControl.PDFView?.ReloadDocument();
                 OpenFileDialog openFileDialog = new OpenFileDialog();
@@ -681,11 +698,6 @@ namespace edit_ctrl_demo
                 }
                 item.IsChecked = false;
             }
-
-            if(PropertyContainer!=null)
-            {
-                PropertyContainer.Child = null;
-            }
         }
 
         /// <summary>
@@ -931,14 +943,20 @@ namespace edit_ctrl_demo
             {
                 if (ViewComboBox.SelectedIndex == 0)
                 {
+                    PDFEditTool.Visibility = Visibility.Collapsed;
                     pdfViewControl.PDFView?.SetPDFEditType(CPDFEditType.None);
                     pdfViewControl.PDFView?.SetMouseMode(MouseModes.PanTool);
                     pdfViewControl.PDFView?.ReloadDocument();
+                    if (PropertyContainer != null)
+                    {
+                        PropertyContainer.Child = null;
+                    }
                     return;
                 }
 
                 if (ViewComboBox.SelectedIndex == 1)
                 {
+                    PDFEditTool.Visibility = Visibility.Visible;
                     pdfViewControl.PDFView?.SetPDFEditType(CPDFEditType.EditText | CPDFEditType.EditImage);
                     pdfViewControl.PDFView?.SetPDFEditCreateType(CPDFEditType.None);
                     pdfViewControl.PDFView?.SetMouseMode(MouseModes.PDFEdit);