Browse Source

综合-点击视图按钮,左侧展开视图面板已展开的情况,不会替换右侧面板 、阅读模式下需要显示属性面板的功能(链接、图章、签名)禁用

OYXH\oyxh 2 years ago
parent
commit
8f4e5bca6e

+ 46 - 22
PDF Office/ViewModels/BottomToolContentViewModel.cs

@@ -22,6 +22,8 @@ using PDF_Office.Views.Tools;
 using PDFSettings.Settings;
 using PDF_Office.Helper;
 using System.IO;
+using ImTools;
+using PDF_Office.Views.PropertyPanel.ViewModular;
 
 namespace PDF_Office.ViewModels
 {
@@ -69,7 +71,8 @@ namespace PDF_Office.ViewModels
             T_FitPage = App.MainPageLoader.GetString("Zoom_FitPage");
         }
 
-        #endregion
+        #endregion 文案
+
         public DelegateCommand Load { get; set; }
 
         public DelegateCommand FirstPageCommand { get; set; }
@@ -343,33 +346,54 @@ namespace PDF_Office.ViewModels
 
         private void ShowViewModularEvent(object obj)
         {
-            if (ViewContentViewModel.IsPropertyOpen == false)
+            ViewContentViewModel.IsPropertyOpen = true;
+            if (region.Regions.ContainsRegionWithName(ViewContentViewModel.PropertyRegionName))
             {
-                ViewContentViewModel.IsPropertyOpen = true;
-
-                NavigationParameters param = new NavigationParameters();
-                param.Add(ParameterNames.PDFViewer, PDFViewer);
-                param.Add(ParameterNames.BottomToolContentViewModel, this);
-                region.RequestNavigate(RegionNames.PropertyRegionName, "ViewModularContent", param);
-
-                if (region.Regions.ContainsRegionWithName(ViewContentViewModel.PropertyRegionName))
+                var views = region.Regions[ViewContentViewModel.PropertyRegionName].Views;
+                var item = views.FindFirst(p => p is ViewModularContent);
+                if (item == null)
                 {
-                    var views = region.Regions[ViewContentViewModel.PropertyRegionName].Views;
-                    foreach (var item in views)
+                    NavigationParameters param = new NavigationParameters();
+                    param.Add(ParameterNames.PDFViewer, PDFViewer);
+                    param.Add(ParameterNames.BottomToolContentViewModel, this);
+                    region.RequestNavigate(RegionNames.PropertyRegionName, "ViewModularContent", param);
+                }
+                else
+                {
+                    if (item is ViewModularContent bOTAContent1)
                     {
-                        if (item is LinkAnnotProperty linkAnnotProperty)
-                        {
-                            var contentRegion = region.Regions[ViewContentViewModel.PropertyRegionName];
-                            contentRegion.Remove(item);
-                            break;
-                        }
+                        var contentRegion = region.Regions[ViewContentViewModel.PropertyRegionName];
+                        contentRegion.Activate(bOTAContent1);
                     }
                 }
             }
-            else
-            {
-                ViewContentViewModel.IsPropertyOpen = false;
-            }
+
+            //if (ViewContentViewModel.IsPropertyOpen == false)
+            //{
+            //    ViewContentViewModel.IsPropertyOpen = true;
+
+            //    NavigationParameters param = new NavigationParameters();
+            //    param.Add(ParameterNames.PDFViewer, PDFViewer);
+            //    param.Add(ParameterNames.BottomToolContentViewModel, this);
+            //    region.RequestNavigate(RegionNames.PropertyRegionName, "ViewModularContent", param);
+
+            //    //if (region.Regions.ContainsRegionWithName(ViewContentViewModel.PropertyRegionName))
+            //    //{
+            //    //    var views = region.Regions[ViewContentViewModel.PropertyRegionName].Views;
+            //    //    foreach (var item in views)
+            //    //    {
+            //    //        if (item is LinkAnnotProperty linkAnnotProperty)
+            //    //        {
+            //    //            var contentRegion = region.Regions[ViewContentViewModel.PropertyRegionName];
+            //    //            contentRegion.Remove(item);
+            //    //            break;
+            //    //        }
+            //    //    }
+            //    //}
+            //}
+            //else
+            //{
+            //}
             IsShowViewModular = ViewContentViewModel.IsPropertyOpen;
         }
 

+ 17 - 2
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Function.cs

@@ -609,7 +609,7 @@ namespace PDF_Office.ViewModels.Tools
                 freetextArgs = selectedArgs[0] as FreeTextAnnotArgs;
                 textAlignment = freetextArgs.Align;
 
-                if(NavigatedToFillAndSignVM(selectedArgs, "Freetext"))
+                if (NavigatedToFillAndSignVM(selectedArgs, "Freetext"))
                 {
                     return freetextArgs;
                 }
@@ -627,7 +627,7 @@ namespace PDF_Office.ViewModels.Tools
                 var annotFillAndSign = viewContentViewModel.FillAndSign.FirstOrDefault(temp => temp.Item1 == annots[0].PageIndex && temp.Item2 == annots[0].AnnotIndex);
                 if (annotFillAndSign != null)
                 {
-                    this.events.GetEvent<FillAndSignEvent>().Publish(new FillAndSigntEventArgs { Unicode = tag , AppUnicode = App.mainWindowViewModel.SelectedItem.Unicode, Annots = annots });
+                    this.events.GetEvent<FillAndSignEvent>().Publish(new FillAndSigntEventArgs { Unicode = tag, AppUnicode = App.mainWindowViewModel.SelectedItem.Unicode, Annots = annots });
                     return true;
                 }
             }
@@ -1044,6 +1044,7 @@ namespace PDF_Office.ViewModels.Tools
                 if (str == AddAnnotType.AnnotLink.ToString())
                 {
                     propertyPanel.IsAddLink = true;
+
                     annotHandler = GetLink();
                 }
                 if (str == AddAnnotType.AnnotStamp.ToString())
@@ -1073,6 +1074,20 @@ namespace PDF_Office.ViewModels.Tools
             }
         }
 
+        private bool InBookModeSetIsEnabled(MenuItem menuItem)
+        {
+            if (viewContentViewModel.mainViewModel.IsBookMode)
+            {
+                menuItem.IsEnabled = false;
+                return true;
+            }
+            else
+            {
+                menuItem.IsEnabled = true;
+                return false;
+            }
+        }
+
         /// <summary>
         /// 选择文本、图片,右键菜单
         /// </summary>

+ 13 - 1
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.Layout.cs

@@ -367,6 +367,19 @@ namespace PDF_Office.ViewModels.Tools
             menuItem = new MenuItem();
             menuItem.Header = header;
             menuItem.Tag = tag;
+
+            if (tag == "Link")
+            {
+                if (viewContentViewModel.mainViewModel.IsBookMode)
+                {
+                    menuItem.IsEnabled = false;
+                }
+                else
+                {
+                    menuItem.IsEnabled = true;
+                }
+            }
+
             menuItem.Click -= AnnotToolMenu_Click;
             menuItem.Click += AnnotToolMenu_Click;
             menuItem.CommandParameter = annotCommand;
@@ -502,7 +515,6 @@ namespace PDF_Office.ViewModels.Tools
                         anvent.UpdateAnnot();
                     }
                 }
-
             }
         }
 

+ 8 - 0
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.cs

@@ -633,6 +633,14 @@ namespace PDF_Office.ViewModels.Tools
             {
                 if (item is MenuItem menuItem)
                 {
+                    string str = menuItem.Tag.ToString();
+                    if (str == AddAnnotType.AnnotLink.ToString()
+                    || str == AddAnnotType.AnnotStamp.ToString()
+                    || str == AddAnnotType.AnnotAutograph.ToString()
+                    )
+                    {
+                        InBookModeSetIsEnabled(menuItem);
+                    }
                     menuItem.CommandParameter = item;
                     menuItem.Command = SetAddAnnotationCommand;
                 }