Browse Source

bug -链接

OYXH\oyxh 2 years ago
parent
commit
f999db8979

+ 8 - 11
PDF Office/ViewModels/PropertyPanel/AnnotPanel/LinkAnnotPropertyViewModel.cs

@@ -757,9 +757,7 @@ namespace PDF_Office.ViewModels.PropertyPanel.AnnotPanel
 
                         historyPageIndex = linkArgs.PageIndex;
                         LinkAnnotArgs = linkArgs;
-                        //LinkAnnotArgs.PageIndex = historyPageIndex;
-                        //if (linkArgs.AnnotIndex != -1)
-                        //{
+
                         AnnotAttribEvent?.UpdateAttrib(AnnotAttrib.LinkType, LINK_TYPE.GOTO);
                         AnnotAttribEvent?.UpdateAttrib(AnnotAttrib.LinkDestIndx, areaInfo.PageIndex);
                         AnnotAttribEvent?.UpdateAnnot();
@@ -772,22 +770,21 @@ namespace PDF_Office.ViewModels.PropertyPanel.AnnotPanel
                         //viewContentViewModel.LinkAnnotTipVisibility = Visibility.Collapsed;
                         viewContentViewModel.TipVisible = Visibility.Collapsed;
 
-                        //await System.Threading.Tasks.Task.Delay(5);
-                        //SelectAnnotation();
-
-                        //pdfViewer.GoToPage(historyPageIndex);
-
-                        propertyPanel.IsLocationLink = false;
+                       
                         //没有选择注释工具、也不是右键添加注释
                         //在阅读页,选择注释后,点击按钮
                         //需要设置相关参数
-                        if (propertyPanel.IsAddLink == false)
+                        if (propertyPanel.IsLocationLink)
                         {
                             pdfViewer.SetMouseMode(MouseModes.PanTool);
+                            propertyPanel.IsLocationLink = false;
                         }
                         await System.Threading.Tasks.Task.Delay(5);
-                        pdfViewer.SelectAnnotation(LinkAnnotArgs.PageIndex, LinkAnnotArgs.AnnotIndex);
                         pdfViewer.GoToPage(historyPageIndex);
+
+                        //await System.Threading.Tasks.Task.Delay(5);
+                        SelectAnnotation();
+
                         BtnLocationIsChecked = false;
                         //}
                         //else

+ 8 - 7
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Command.cs

@@ -232,6 +232,7 @@ namespace PDF_Office.ViewModels.Tools
                 case AnnotArgsType.AnnotLink:
                     //viewContentViewModel.IsCreateLink = false;
                     //e.IsAnnotCreateReset= true;
+                    propertyPanel.IsAddLink = false;
                     GetLink(e.AnnotItemsList, e);
                     break;
 
@@ -482,8 +483,6 @@ namespace PDF_Office.ViewModels.Tools
                                         e.PopupMenu = StampAnnotPopMenu.OpenMenu(selectedAnnot, sender);
                                         break;
                                 }
-
-
                             }
                             else
                             {
@@ -552,20 +551,24 @@ namespace PDF_Office.ViewModels.Tools
                 if (annot.EventType == AnnotArgsType.AnnotFreeText)
                 {
                     var freeText = annot as FreeTextAnnotArgs;
-                    switch(freeText.Align)
+                    switch (freeText.Align)
                     {
                         case TextAlignment.Left:
                             FreeTextAnnotPopMenu.SetIsChecked("FreeTextAglinLeft", true);
                             break;
+
                         case TextAlignment.Center:
                             FreeTextAnnotPopMenu.SetIsChecked("FreeTextAglinCenter", true);
                             break;
+
                         case TextAlignment.Right:
                             FreeTextAnnotPopMenu.SetIsChecked("FreeTextAglinRight", true);
                             break;
+
                         case TextAlignment.Justify:
                             FreeTextAnnotPopMenu.SetIsChecked("FreeTextAglinJustify", true);
                             break;
+
                         default:
                             FreeTextAnnotPopMenu.SetIsChecked("FreeTextAglinLeft", false);
                             FreeTextAnnotPopMenu.SetIsChecked("FreeTextAglinCenter", false);
@@ -573,7 +576,6 @@ namespace PDF_Office.ViewModels.Tools
                             FreeTextAnnotPopMenu.SetIsChecked("FreeTextAglinJustify", false);
                             break;
                     }
-
                 }
             }
         }
@@ -608,9 +610,9 @@ namespace PDF_Office.ViewModels.Tools
                     isSolidLineDash = AnnotPropertyPanel.IsSolidStyle(line.LineDash);
                     ShapeAnnotPopMenu.SetIsChecked(isSolidLineDash ? "ShapeSolid" : "ShapeDash", true);
                 }
-
             }
         }
+
         /// <summary>
         /// 内容选择工具
         /// </summary>
@@ -855,8 +857,8 @@ namespace PDF_Office.ViewModels.Tools
             CloseAnnotToolTip();
         }
 
+        private Rect oldRect = new Rect(0, 0, 0, 0);
 
-        Rect oldRect = new Rect(0, 0, 0, 0);
         private void CloseAnnotToolTip()
         {
             if (PDFViewer.ToolTip != null && PDFViewer.ToolTip is ToolTip)
@@ -884,7 +886,6 @@ namespace PDF_Office.ViewModels.Tools
             }
         }
 
-
         #endregion PDFViewer事件
 
         #region BindingEvent事件

+ 3 - 1
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Function.cs

@@ -249,6 +249,7 @@ namespace PDF_Office.ViewModels.Tools
                     break;
 
                 case "Link"://链接
+                    propertyPanel.IsAddLink = true;
                     viewContentViewModel.IsRightMenuCreateLink = isRightMenuAdd;
                     annotArgs = GetLink();
                     break;
@@ -318,7 +319,6 @@ namespace PDF_Office.ViewModels.Tools
                     selectedArgs.Add(linkArgs);
                 }
             }
-
             AddToPropertyPanel("LinkAnnotProperty", "Link", selectedArgs, annotAttribEvent);
             return linkArgs;
         }
@@ -1037,6 +1037,8 @@ namespace PDF_Office.ViewModels.Tools
                         BtnLinkIsChecked = true;
                         List<AnnotHandlerEventArgs> lists = new List<AnnotHandlerEventArgs>();
                         lists.Add(linkArgs);
+                        propertyPanel.IsAddLink = true;
+
                         AnnotHandlerEventArgs annotArgs = GetLink(lists);
                         PDFViewer.SetMouseMode(MouseModes.AnnotCreate);
                         PDFViewer.SetToolParam(annotArgs);