Procházet zdrojové kódy

页面编辑-调整页面编辑效果

ZhouJieSheng před 2 roky
rodič
revize
ea03456321

+ 10 - 5
PDF Office/ViewModels/PageEdit/PageEditContentViewModel.cs

@@ -320,6 +320,9 @@ namespace PDF_Office.ViewModels.PageEdit
             new Size(312,441)
         };
 
+        //选中的页面集合
+        private List<int> selectedPageList = new List<int>();
+
 
         #endregion
 
@@ -884,12 +887,12 @@ namespace PDF_Office.ViewModels.PageEdit
 
             if (TbPageRangeVisibility == Visibility.Visible && args != null)
             {
-                List<int> pagelist = new List<int>();
+                selectedPageList = new List<int>();
                 for (int i = 0; i < listbox.SelectedItems.Count; i++)
                 {
-                    if (!pagelist.Contains((listbox.SelectedItems[i] as PageEditItem).PageNumber))
+                    if (!selectedPageList.Contains((listbox.SelectedItems[i] as PageEditItem).PageNumber))
                     {
-                        pagelist.Add((listbox.SelectedItems[i] as PageEditItem).PageNumber);
+                        selectedPageList.Add((listbox.SelectedItems[i] as PageEditItem).PageNumber);
                     }
                 }
 
@@ -900,13 +903,13 @@ namespace PDF_Office.ViewModels.PageEdit
                 //    return;
                 //}
                 //只选中单个页面是,listselectedIndex 更准确
-                if (pagelist.Count == 1)
+                if (selectedPageList.Count == 1)
                 {
                     TbPageRange = (listSelecedIndex + 1).ToString();
                 }
                 else
                 {
-                    string pageparm = CommonHelper.GetPageParmFromList(pagelist);
+                    string pageparm = CommonHelper.GetPageParmFromList(selectedPageList);
                     TbPageRange = pageparm;
                 }
             }
@@ -995,10 +998,12 @@ namespace PDF_Office.ViewModels.PageEdit
 
         private void print()
         {
+            PDFViewer.GoToPage(listSelecedIndex);
             DialogParameters printValue = new DialogParameters();
             printValue.Add(ParameterNames.PDFViewer, PDFViewer);
             printValue.Add(ParameterNames.FilePath, PDFViewer.Document.FileName);
             printValue.Add(ParameterNames.PrintCurrentPage, PDFViewer.CurrentIndex);
+            printValue.Add(ParameterNames.PageList,selectedPageList);
             dialogs.ShowDialog(DialogNames.HomePagePrinterDialog, printValue, e => { });
         }
 

+ 1 - 0
PDF Office/Views/HomePanel/RecentFiles/RecentFilesContent.xaml

@@ -15,6 +15,7 @@
     d:DesignWidth="800"
     prism:ViewModelLocator.AutoWireViewModel="True"
     Loaded="UserControl_Loaded"
+    KeyDown="UserControl_KeyDown"
     mc:Ignorable="d">
     <UserControl.Resources>
         <ResourceDictionary>

+ 13 - 0
PDF Office/Views/HomePanel/RecentFiles/RecentFilesContent.xaml.cs

@@ -210,5 +210,18 @@ namespace PDF_Office.Views.HomePanel.RecentFiles
         }
 
         #endregion
+
+        private void UserControl_KeyDown(object sender, KeyEventArgs e)
+        {
+            //点击ESC取消选中
+            if(GridRecentFilesList.Visibility == Visibility.Visible)
+            {
+                GridRecentFilesList.SelectedIndex = -1;
+            }
+            else
+            {
+                RecentFilesList.SelectedIndex = -1;
+            }
+        }
     }
 }