Browse Source

Merge branch 'dev' of http://git.kdan.cc:8865/Windows/PDFOffice_Windows_exe into dev

ZhouJieSheng 1 year ago
parent
commit
9316e2eac3
1 changed files with 41 additions and 13 deletions
  1. 41 13
      PDF Office/ViewModels/Tools/ToolsBarContentViewModel.cs

+ 41 - 13
PDF Office/ViewModels/Tools/ToolsBarContentViewModel.cs

@@ -340,31 +340,29 @@ namespace PDF_Master.ViewModels.Tools
             }
         }
 
-        private async void CropCurrentPageWM()
+        private void CropCurrentPageWM()
         {
             viewContentViewModel.IsLoading = Visibility.Visible;
-            await WaitCropCurrentPageWM();
+             WaitCropCurrentPageWM();
             viewContentViewModel.IsLoading = Visibility.Collapsed;
         }
-        private async void CropAllPagesWM()
+        private  void CropAllPagesWM()
         {
             viewContentViewModel.IsLoading = Visibility.Visible;
-            await WaitCropAllPagesWM();
+            WaitCropAllPagesWM();
             viewContentViewModel.IsLoading = Visibility.Collapsed;
 
             //PDFViewer.UndoManager.AddHistory();
         }
 
-        private async Task WaitCropCurrentPageWM()
+        private void WaitCropCurrentPageWM()
         {
 
             if (!viewContentViewModel.IAPBeforeFunction())
             {
                 return;
             }
-
-            await Task.Run(() =>
-            {
+            App.Current.Dispatcher.Invoke(new Action(() => {
                 if (PDFViewer.CurrentIndex >= 0)
                 {
                     UndoManager.cropPageList.Add(PDFViewer.CurrentIndex);
@@ -374,20 +372,33 @@ namespace PDF_Master.ViewModels.Tools
                 PDFViewer?.SetCropMode(true, UndoManager.cropPageList);
                 PDFViewer.UndoManager.AddHistory(UndoManager);
                 PDFViewer.UndoManager.CanSave = true;
-            });
+            }));
+
+            //5.22 SDK更新后剪切线程异常
+            //    await Task.Run(() =>
+            //{
+            //    if (PDFViewer.CurrentIndex >= 0)
+            //    {
+            //        UndoManager.cropPageList.Add(PDFViewer.CurrentIndex);
+            //    }
+            //    UndoManager.ADDCropCurrentPageWM();
+            //    //此法不会直接保存,只是设置是否被裁减(只对pdfview裁剪,不是真正的裁剪),需要保存后调用PdfViewer?.CropPage进行真正裁剪
+            //    PDFViewer?.SetCropMode(true, UndoManager.cropPageList);
+            //    PDFViewer.UndoManager.AddHistory(UndoManager);
+            //    PDFViewer.UndoManager.CanSave = true;
+            //});
 
         }
 
-        private async Task WaitCropAllPagesWM()
+        private void WaitCropAllPagesWM()
         {
 
             if (!viewContentViewModel.IAPBeforeFunction())
             {
                 return;
             }
+            App.Current.Dispatcher.Invoke(new Action(() => {
 
-            await Task.Run(() =>
-            {
                 List<int> cropPagesList = new List<int>();
                 for (int i = 0; i < PDFViewer.Document.PageCount; i++)
                 {
@@ -400,7 +411,24 @@ namespace PDF_Master.ViewModels.Tools
                 PDFViewer?.SetCropMode(true, UndoManager.cropPageList);
                 PDFViewer.UndoManager.AddHistory(UndoManager);
                 PDFViewer.UndoManager.CanSave = true;
-            });
+
+            }));
+            //5.22 SDK更新后剪切线程异常
+            //    await Task.Run(() =>
+            //{
+            //List<int> cropPagesList = new List<int>();
+            //for (int i = 0; i < PDFViewer.Document.PageCount; i++)
+            //{
+            //    cropPagesList.Add(i);
+            //}
+
+            //UndoManager.cropPageList.AddRange(cropPagesList);
+            //UndoManager.ADDCropAllPagesWM();
+            ////此法不会直接保存,只是设置是否被裁减(只对pdfview裁剪,不是真正的裁剪),需要保存后调用PdfViewer?.CropPage进行真正裁剪
+            //PDFViewer?.SetCropMode(true, UndoManager.cropPageList);
+            //PDFViewer.UndoManager.AddHistory(UndoManager);
+            //PDFViewer.UndoManager.CanSave = true;
+            //});
         }