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

阅读页-右键菜单

OYXH\oyxh 2 éve
szülő
commit
6cadf61cf6

+ 12 - 13
PDF Office/Styles/ContextMenuStyle.xaml

@@ -20,7 +20,7 @@
             </MenuItem.Icon>
         </MenuItem>
     </ContextMenu>
-    
+
     <ContextMenu x:Key="CustomFontStyleFlyoutMenu" FontSize="14">
         <ContextMenu.ItemContainerStyle>
             <Style TargetType="MenuItem">
@@ -29,16 +29,15 @@
             </Style>
         </ContextMenu.ItemContainerStyle>
         <MenuItem
-                    Name="ChangeStyleMenuItem"
-                    Header="用所选部分重新定义"
-                    IsEnabled="True" />
+            Name="ChangeStyleMenuItem"
+            Header="用所选部分重新定义"
+            IsEnabled="True" />
         <MenuItem
-                    Name="BackStyleMenuItem"
-                    Header="恢复默认预设样式"
-                    IsEnabled="True" />
+            Name="BackStyleMenuItem"
+            Header="恢复默认预设样式"
+            IsEnabled="True" />
     </ContextMenu>
 
-
     <ContextMenu x:Key="SelectAnnotContextMenu" FontSize="14">
         <ContextMenu.ItemContainerStyle>
             <Style TargetType="MenuItem">
@@ -255,11 +254,11 @@
             <MenuItem Header="缩小" Tag="narrow" />
         </MenuItem>
         <MenuItem Header="页面显示">
-            <MenuItem Header="单页" />
-            <MenuItem Header="单页连续" />
-            <MenuItem Header="双页" />
-            <MenuItem Header="双页连续" />
-            <MenuItem Header="书本模式" />
+            <MenuItem Header="单页" Tag="SingleView" />
+            <MenuItem Header="单页连续" Tag="SingleContinueView" />
+            <MenuItem Header="双页" Tag="DoubleView" />
+            <MenuItem Header="双页连续" Tag="DoubleContinueView" />
+            <MenuItem Header="书本模式" Tag="BookMode" />
         </MenuItem>
         <Separator
             Height="1"

+ 62 - 2
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.cs

@@ -3,6 +3,7 @@ using ComPDFKit.PDFDocument;
 using ComPDFKitViewer;
 using ComPDFKitViewer.AnnotEvent;
 using ComPDFKitViewer.PdfViewer;
+using Microsoft.Office.Interop.Excel;
 using Microsoft.Office.Interop.Word;
 using Microsoft.Win32;
 using PDF_Office.CustomControl;
@@ -20,6 +21,7 @@ using Prism.Commands;
 using Prism.Events;
 using Prism.Mvvm;
 using Prism.Regions;
+using Prism.Services.Dialogs;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -30,17 +32,20 @@ using System.Windows.Controls;
 using System.Windows.Controls.Primitives;
 using System.Windows.Input;
 using System.Windows.Media;
+using MenuItem = System.Windows.Controls.MenuItem;
 
 namespace PDF_Office.ViewModels.Tools
 {
     public sealed partial class AnnotToolContentViewModel : BindableBase, INavigationAware
     {
         private IEventAggregator events;
+        public IDialogService dialogs;
 
-        public AnnotToolContentViewModel(IRegionManager regionManager, IEventAggregator eventAggregator)
+        public AnnotToolContentViewModel(IRegionManager regionManager, IEventAggregator eventAggregator, IDialogService dialogService)
         {
             region = regionManager;
             events = eventAggregator;
+            dialogs = dialogService;
             MyToolsCommand = new DelegateCommand<CustomIconToggleBtn>(BtnMyTools_Click);
             SetAddAnnotationCommand = new DelegateCommand<object>(AddAnnotation_Click);
             PropertyRegionName = Guid.NewGuid().ToString();
@@ -723,7 +728,7 @@ namespace PDF_Office.ViewModels.Tools
         {
             if (e.AnnotEventArgsList == null || (PDFViewer != null && PDFViewer.MouseMode == MouseModes.FormEditTool))
                 return;
-            
+
             // var annotlist = e.AnnotEventArgsList;
             switch (e.CommandType)
             {
@@ -876,10 +881,65 @@ namespace PDF_Office.ViewModels.Tools
                 }
                 //页面显示                >
                 MenuItem menuItem10 = contextMenu.Items[13] as MenuItem;
+                if (menuItem10.Items.Count > 0)
+                {
+                    PageDisplay(menuItem10.Items);
+                }
                 //查找
                 MenuItem menuItem11 = contextMenu.Items[15] as MenuItem;
                 //打印...
                 MenuItem menuItem12 = contextMenu.Items[16] as MenuItem;
+                menuItem12.Click += PrintDoc_Click;
+            }
+        }
+
+        private void PrintDoc_Click(object sender, RoutedEventArgs e)
+        {
+            //PDFViewer.InitDocument(PDFViewer.Document.FilePath);
+            //DialogParameters printvalue = new DialogParameters();
+            //printvalue.Add(ParameterNames.PDFViewer, PDFViewer);
+            //printvalue.Add(ParameterNames.FilePath, PDFViewer.Document.FilePath);
+            //dialogs.ShowDialog(DialogNames.HomePagePrinterDialog, printvalue, e1 => { });
+            viewContentViewModel.PrintCommand.Execute();
+        }
+
+        private void PageDisplay(ItemCollection items)
+        {
+            foreach (var item in items)
+            {
+                if (item is MenuItem menuItem)
+                {
+                    menuItem.Click += PageDisplay_Click;
+                }
+            }
+        }
+
+        private void PageDisplay_Click(object sender, RoutedEventArgs e)
+        {
+            if (sender is MenuItem menuItem)
+            {
+                switch (menuItem.Tag.ToString())
+                {
+                    case "SingleView":
+                        PDFViewer.ChangeViewMode(ViewMode.Single);
+                        break;
+
+                    case "SingleContinueView":
+                        PDFViewer.ChangeViewMode(ViewMode.SingleContinuous);
+                        break;
+
+                    case "DoubleView":
+                        PDFViewer.ChangeViewMode(ViewMode.Double);
+                        break;
+
+                    case "DoubleContinueView":
+                        PDFViewer.ChangeViewMode(ViewMode.DoubleContinuous);
+                        break;
+
+                    case "BookMode":
+                        PDFViewer.ChangeViewMode(ViewMode.Book);
+                        break;
+                }
             }
         }