Selaa lähdekoodia

合并代码-部分右键菜单事件绑定

zhuyi 1 vuosi sitten
vanhempi
commit
d01fd56f8b

+ 18 - 13
Demo/Examples/Compdfkit_Tools/PDFView/PDFViewControl/PDFViewControl.xaml.cs

@@ -30,10 +30,10 @@ namespace Compdfkit_Tools.PDFControl
         private CPDFViewerTool viewerTool;
         private CPDFToolManager toolManager;
 
-        public CPDFViewerTool PDFViewTool { get;private set; }
-        public CPDFToolManager PDFToolManager { get;private set; }
+        public CPDFViewerTool PDFViewTool { get; private set; }
+        public CPDFToolManager PDFToolManager { get; private set; }
 
-        public CPDFViewerTool FocusPDFViewTool { get;private set; }
+        public CPDFViewerTool FocusPDFViewTool { get; private set; }
 
         //public event EventHandler SplitPDFViewToolCreated;
         public event EventHandler FocusPDFViewToolChanged;
@@ -78,6 +78,7 @@ namespace Compdfkit_Tools.PDFControl
             PDFToolManager.MouseLeftButtonUpHandler -= PDFToolManager_MouseLeftButtonUpHandler;
             PDFToolManager.MouseMoveHandler -= PDFToolManager_MouseMoveHandler;
             PDFToolManager.AnnotDefaultEditedHandler -= PDFToolManager_AnnotDefaultEditedHandler;
+            PDFToolManager.MouseRightButtonDownHandler += PDFToolManager_MouseRightButtonDownHandler;
 
             PDFViewTool.SizeChanged += PDFViewTool_SizeChanged;
             PDFViewTool.GetCPDFViewer().MouseWheelZoomHandler += PDFViewControl_MouseWheelZoomHandler;
@@ -86,6 +87,7 @@ namespace Compdfkit_Tools.PDFControl
             PDFToolManager.MouseLeftButtonUpHandler += PDFToolManager_MouseLeftButtonUpHandler;
             PDFToolManager.MouseMoveHandler += PDFToolManager_MouseMoveHandler;
             PDFToolManager.AnnotDefaultEditedHandler += PDFToolManager_AnnotDefaultEditedHandler;
+            PDFToolManager.MouseRightButtonDownHandler += PDFToolManager_MouseRightButtonDownHandler;
 
             splitViewerTool.SizeChanged -= SplitViewerTool_SizeChanged;
             splitViewerTool.GetCPDFViewer().MouseWheelZoomHandler -= SplitPDFViewControl_MouseWheelZoomHandler;
@@ -93,6 +95,7 @@ namespace Compdfkit_Tools.PDFControl
             splitToolManager.MouseLeftButtonDownHandler -= PDFToolManager_MouseLeftButtonDownHandler;
             splitToolManager.MouseLeftButtonUpHandler -= PDFToolManager_MouseLeftButtonUpHandler;
             splitToolManager.MouseMoveHandler -= PDFToolManager_MouseMoveHandler;
+            splitToolManager.AnnotDefaultEditedHandler -= PDFToolManager_AnnotDefaultEditedHandler;
             splitToolManager.MouseRightButtonDownHandler += PDFToolManager_MouseRightButtonDownHandler;
 
             splitViewerTool.SizeChanged += SplitViewerTool_SizeChanged;
@@ -102,6 +105,7 @@ namespace Compdfkit_Tools.PDFControl
             splitToolManager.MouseLeftButtonUpHandler += PDFToolManager_MouseLeftButtonUpHandler;
             splitToolManager.MouseMoveHandler += PDFToolManager_MouseMoveHandler;
             splitToolManager.AnnotDefaultEditedHandler += PDFToolManager_AnnotDefaultEditedHandler;
+            splitToolManager.MouseRightButtonDownHandler += PDFToolManager_MouseRightButtonDownHandler;
 
         }
 
@@ -117,12 +121,13 @@ namespace Compdfkit_Tools.PDFControl
 
         private void PDFViewTool_DrawChanged(object sender, EventArgs e)
         {
-            DrawChanged?.Invoke(sender,e);
+            DrawChanged?.Invoke(sender, e);
         }
 
         public ContextMenu GetRightMenu()
         {
-          return  FocusPDFViewTool.ContextMenu;
+            FocusPDFViewTool.ContextMenu?.Items.Clear();
+            return FocusPDFViewTool.ContextMenu;
         }
 
         public void SetRightMenu(ContextMenu contextMenu)
@@ -147,7 +152,7 @@ namespace Compdfkit_Tools.PDFControl
 
         private void PDFToolManager_MouseLeftButtonDownHandler(object sender, MouseEventObject e)
         {
-            MouseLeftButtonDownHandler?.Invoke(sender,e);
+            MouseLeftButtonDownHandler?.Invoke(sender, e);
         }
 
         private void PDFViewTool_SizeChanged(object sender, SizeChangedEventArgs e)
@@ -216,7 +221,7 @@ namespace Compdfkit_Tools.PDFControl
                     break;
                 case SplitMode.Vertical:
                     RemoveSplitViewerTool();
-                    if(splitViewerTool != null)
+                    if (splitViewerTool != null)
                     {
                         VerticalSplitter.Visibility = Visibility.Visible;
                         VerticalView.Visibility = Visibility.Visible;
@@ -228,11 +233,11 @@ namespace Compdfkit_Tools.PDFControl
                     break;
                 case SplitMode.Horizontal:
                     RemoveSplitViewerTool();
-                    if(splitViewerTool != null)
+                    if (splitViewerTool != null)
                     {
                         HorizontalSplitter.Visibility = Visibility.Visible;
                         HorizontalView.Visibility = Visibility.Visible;
-                        ViewToolGrid.RowDefinitions[1].Height = new GridLength(15,GridUnitType.Auto);
+                        ViewToolGrid.RowDefinitions[1].Height = new GridLength(15, GridUnitType.Auto);
                         ViewToolGrid.RowDefinitions[2].Height = new GridLength(ViewToolGrid.ActualHeight / 2);
                         HorizontalView.Child = splitViewerTool;
                     }
@@ -298,7 +303,7 @@ namespace Compdfkit_Tools.PDFControl
             UpdateRenderFrame();
         }
 
-        public void SetStampMouseImage(byte[] imageArray,int imageWidth,int imageHeight)
+        public void SetStampMouseImage(byte[] imageArray, int imageWidth, int imageHeight)
         {
             viewerTool?.GetCPDFViewer()?.SetStampMouseImage(imageArray, imageWidth, imageHeight);
             splitViewerTool?.GetCPDFViewer()?.SetStampMouseImage(imageArray, imageWidth, imageHeight);
@@ -306,7 +311,7 @@ namespace Compdfkit_Tools.PDFControl
 
         public bool SetStampMouseImage(string filePath)
         {
-            if((bool)(viewerTool?.GetCPDFViewer()?.SetStampMouseImage(filePath)) && (bool)splitViewerTool?.GetCPDFViewer()?.SetStampMouseImage(filePath))
+            if ((bool)(viewerTool?.GetCPDFViewer()?.SetStampMouseImage(filePath)) && (bool)splitViewerTool?.GetCPDFViewer()?.SetStampMouseImage(filePath))
             {
                 return true;
             }
@@ -351,7 +356,7 @@ namespace Compdfkit_Tools.PDFControl
 
         private void PDFView_GotFocus(object sender, RoutedEventArgs e)
         {
-            switch((sender as Border).Tag)
+            switch ((sender as Border).Tag)
             {
                 case "ViewerTool":
                     FocusPDFViewTool = viewerTool;
@@ -360,7 +365,7 @@ namespace Compdfkit_Tools.PDFControl
                     FocusPDFViewTool = splitViewerTool;
                     break;
             }
-            FocusPDFViewToolChanged?.Invoke(this,EventArgs.Empty);
+            FocusPDFViewToolChanged?.Invoke(this, EventArgs.Empty);
         }
 
         #region Private Command Methods