chenrongqian 2 лет назад
Родитель
Сommit
16bf7e64b4
1 измененных файлов с 71 добавлено и 2 удалено
  1. 71 2
      PDF Office/ViewModels/Tools/AnnotToolContentViewModel.cs

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

@@ -21,6 +21,7 @@ using System.Threading.Tasks;
 using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Controls.Primitives;
+using System.Windows.Input;
 using System.Windows.Media;
 
 namespace PDF_Office.ViewModels.Tools
@@ -430,6 +431,8 @@ namespace PDF_Office.ViewModels.Tools
 
                             break;
                     }
+
+                    ShowPropertyPanel();
                 }
             }
             else
@@ -442,15 +445,81 @@ namespace PDF_Office.ViewModels.Tools
 
         private void PDFViewer_AnnotCommandHandler(object sender, AnnotCommandArgs e)
         {
-            var annotlist = e.AnnotEventArgsList;
+
+            if (e.AnnotEventArgsList == null)
+                return;
+
+           // var annotlist = e.AnnotEventArgsList;
             switch (e.CommandType)
             {
                 case CommandType.Context:
-                    e.Handle = true;
+                    if(e.AnnotEventArgsList.Count > 0)
+                    {
+                        e.PopupMenu = SelectAnnotContextMenu(sender);
+                        if (e.PopupMenu != null)
+                        {
+                            e.Handle = true;
+                        }
+                    }
+                    else
+                    {
+                        e.PopupMenu = NoneSelectAnnotContextMenu(sender);
+                        if (e.PopupMenu != null)
+                        {
+                            e.Handle = true;
+                        }
+
+                    }
+
                     break;
             }
         }
 
+
+        private ContextMenu SelectAnnotContextMenu(object sender)
+        {
+           var  popMenu = App.Current.FindResource("SelectAnnotContextMenu") as ContextMenu;
+            if (popMenu != null && popMenu.Items.Count == 4)
+            {
+                //剪切
+                MenuItem menuItem = popMenu.Items[0] as MenuItem;
+                menuItem.CommandTarget = (UIElement)sender;
+                menuItem.Command = ApplicationCommands.Cut;
+                //复制
+                menuItem = popMenu.Items[1] as MenuItem;
+                menuItem.CommandTarget = (UIElement)sender;
+                menuItem.Command = ApplicationCommands.Copy;
+                //删除
+                menuItem = popMenu.Items[2] as MenuItem;
+                menuItem.CommandTarget = (UIElement)sender;
+                menuItem.Command = ApplicationCommands.Delete;
+
+                //笔记
+                //menuItem = popMenu.Items[2] as MenuItem;
+                //menuItem.CommandTarget = (UIElement)sender;
+                //menuItem.Command = ApplicationCommands.no;
+
+            }
+            return popMenu;
+        }
+
+        private ContextMenu NoneSelectAnnotContextMenu(object sender)
+        {
+            var popMenu = new ContextMenu();
+
+            MenuItem menuItem = new MenuItem();
+            menuItem.CommandTarget = (UIElement)sender;
+            menuItem.Command = ApplicationCommands.Paste;
+            popMenu.Items.Add(menuItem);
+
+            menuItem = new MenuItem();
+            menuItem.CommandTarget = (UIElement)sender;
+            menuItem.Command = ApplicationCommands.Copy;
+            popMenu.Items.Add(menuItem);
+
+            return popMenu;
+        }
+
         /// <summary>
         /// 展开显示属性面板
         /// </summary>