ソースを参照

自定义菜单 - 优化自定义菜单

chenrongqian@kdanmobile.com 2 年 前
コミット
00f96d6c92

+ 19 - 19
PDF Office/ViewModels/Form/FormsToolContentViewModel.cs

@@ -484,55 +484,55 @@ namespace PDF_Office.ViewModels.Form
             }
             }
         }
         }
 
 
-        private void InitMenu(CustomPopMenu customMenu,object sender)
+        private void InitMenu(CustomPopMenu customMenu)
         {
         {
             int index= 0;
             int index= 0;
             //属性
             //属性
-            customMenu.SetMenuBinding(index, sender, PropertyMenuCommand);
+            customMenu.SetMenuBinding(index, PropertyMenuCommand);
             customMenu.SetTagProperty(index, "Property");
             customMenu.SetTagProperty(index, "Property");
             index++;
             index++;
             //复制
             //复制
-            customMenu.SetMenuBinding(index, sender, ApplicationCommands.Copy);
+            customMenu.SetMenuBinding(index, ApplicationCommands.Copy);
             customMenu.SetTagProperty(index, "Copy");
             customMenu.SetTagProperty(index, "Copy");
             index++;
             index++;
             //剪切
             //剪切
-            customMenu.SetMenuBinding(index, sender, ApplicationCommands.Cut);
+            customMenu.SetMenuBinding(index, ApplicationCommands.Cut);
             customMenu.SetTagProperty(index, "Cut");
             customMenu.SetTagProperty(index, "Cut");
             index++;
             index++;
             //粘贴
             //粘贴
-            customMenu.SetMenuBinding(index, sender, ApplicationCommands.Paste);
+            customMenu.SetMenuBinding(index, ApplicationCommands.Paste);
             customMenu.SetTagProperty(index, "Paste");
             customMenu.SetTagProperty(index, "Paste");
             index++;
             index++;
             //删除
             //删除
-            customMenu.SetMenuBinding(index, sender, ApplicationCommands.Delete);
+            customMenu.SetMenuBinding(index, ApplicationCommands.Delete);
             customMenu.SetTagProperty(index, "Delete");
             customMenu.SetTagProperty(index, "Delete");
             index++;
             index++;
             //创建多个副本
             //创建多个副本
-            customMenu.SetMenuBinding(index, sender, ApplicationCommands.Delete);
+            customMenu.SetMenuBinding(index, ApplicationCommands.Delete);
             customMenu.SetTagProperty(index, "CreateCopy");
             customMenu.SetTagProperty(index, "CreateCopy");
             index++;
             index++;
             //跨页复制
             //跨页复制
-            customMenu.SetMenuBinding(index, sender, CrossPageMenuCommand);
+            customMenu.SetMenuBinding(index, CrossPageMenuCommand);
             customMenu.SetTagProperty(index, "CrossPage");
             customMenu.SetTagProperty(index, "CrossPage");
             index++;
             index++;
             //显示跳位编号
             //显示跳位编号
-            customMenu.SetMenuBinding(index, sender, JumpPosMenuCommand);
+            customMenu.SetMenuBinding(index, JumpPosMenuCommand);
             customMenu.SetTagProperty(index, "JumpPos");
             customMenu.SetTagProperty(index, "JumpPos");
             index++;
             index++;
             //隐藏名称
             //隐藏名称
-            customMenu.SetMenuBinding(index, sender, HideNameMenuCommand);
+            customMenu.SetMenuBinding(index, HideNameMenuCommand);
             customMenu.SetTagProperty(index, "HideName");
             customMenu.SetTagProperty(index, "HideName");
             index++;
             index++;
             //查找
             //查找
-            customMenu.SetMenuBinding(index, sender, SearchFormMenuCommand);
+            customMenu.SetMenuBinding(index, SearchFormMenuCommand);
             customMenu.SetTagProperty(index, "SearchForm");
             customMenu.SetTagProperty(index, "SearchForm");
             index++;
             index++;
             //打印
             //打印
-            customMenu.SetMenuBinding(index, sender, PrintMenuCommand);
+            customMenu.SetMenuBinding(index, PrintMenuCommand);
             customMenu.SetTagProperty(index, "print");
             customMenu.SetTagProperty(index, "print");
             index++;
             index++;
             //设置当前属性为默认值
             //设置当前属性为默认值
-            customMenu.SetMenuBinding(index, sender, DefaultValueMenuCommand);
+            customMenu.SetMenuBinding(index, DefaultValueMenuCommand);
             customMenu.SetTagProperty(index, "DefaultValue");
             customMenu.SetTagProperty(index, "DefaultValue");
             index++;
             index++;
             customMenu.AllMenuVisibility(true);
             customMenu.AllMenuVisibility(true);
@@ -543,8 +543,8 @@ namespace PDF_Office.ViewModels.Form
         private ContextMenu BlankReaMenu(object sender)
         private ContextMenu BlankReaMenu(object sender)
         {
         {
             var popMenu = App.Current.FindResource("FormContentMenu") as ContextMenu;
             var popMenu = App.Current.FindResource("FormContentMenu") as ContextMenu;
-            CustomPopMenu customMenu = new CustomPopMenu(popMenu);
-            InitMenu(customMenu, sender);
+            CustomPopMenu customMenu = new CustomPopMenu(popMenu, sender);
+            InitMenu(customMenu);
             customMenu.SetVisibilityProperty("Property", false);
             customMenu.SetVisibilityProperty("Property", false);
             customMenu.SetVisibilityProperty("Copy", false);
             customMenu.SetVisibilityProperty("Copy", false);
             customMenu.SetVisibilityProperty("Cut", false);
             customMenu.SetVisibilityProperty("Cut", false);
@@ -559,8 +559,8 @@ namespace PDF_Office.ViewModels.Form
         private ContextMenu SelectedFormMenu(object sender)
         private ContextMenu SelectedFormMenu(object sender)
         {
         {
             var popMenu = App.Current.FindResource("FormContentMenu") as ContextMenu;
             var popMenu = App.Current.FindResource("FormContentMenu") as ContextMenu;
-            CustomPopMenu customMenu = new CustomPopMenu(popMenu);
-            InitMenu(customMenu, sender);
+            CustomPopMenu customMenu = new CustomPopMenu(popMenu, sender);
+            InitMenu(customMenu);
             customMenu.SetVisibilityProperty("SearchForm", false);
             customMenu.SetVisibilityProperty("SearchForm", false);
             customMenu.SetVisibilityProperty("print", false);
             customMenu.SetVisibilityProperty("print", false);
             return popMenu;
             return popMenu;
@@ -570,8 +570,8 @@ namespace PDF_Office.ViewModels.Form
         private ContextMenu MultiSelectedFormMenu(object sender)
         private ContextMenu MultiSelectedFormMenu(object sender)
         {
         {
             var popMenu = App.Current.FindResource("FormContentMenu") as ContextMenu;
             var popMenu = App.Current.FindResource("FormContentMenu") as ContextMenu;
-            CustomPopMenu customMenu = new CustomPopMenu(popMenu);
-            InitMenu(customMenu, sender);
+            CustomPopMenu customMenu = new CustomPopMenu(popMenu, sender);
+            InitMenu(customMenu);
             customMenu.SetVisibilityProperty("CreateCopy", false);
             customMenu.SetVisibilityProperty("CreateCopy", false);
             customMenu.SetVisibilityProperty("DefaultValue", false);
             customMenu.SetVisibilityProperty("DefaultValue", false);
             customMenu.SetVisibilityProperty("SearchForm", false);
             customMenu.SetVisibilityProperty("SearchForm", false);

+ 12 - 12
PDF Office/ViewModels/PropertyPanel/PDFEdit/ImageEditPropertyViewModel.cs

@@ -365,13 +365,13 @@ namespace PDF_Office.ViewModels.PropertyPanel.PDFEdit
         private ContextMenu EmptyStateMenu(object sender)
         private ContextMenu EmptyStateMenu(object sender)
         {
         {
             var popMenu = App.Current.FindResource("NoneMenu") as ContextMenu;
             var popMenu = App.Current.FindResource("NoneMenu") as ContextMenu;
-            CustomPopMenu customMenu = new CustomPopMenu(popMenu);
+            CustomPopMenu customMenu = new CustomPopMenu(popMenu, sender);
             //粘贴
             //粘贴
-            customMenu.SetMenuBinding(0, sender, ApplicationCommands.Paste);
+            customMenu.SetMenuBinding(0, ApplicationCommands.Paste);
             //添加文本
             //添加文本
-            customMenu.SetMenuBinding(1, sender, AddTextCommand);
+            customMenu.SetMenuBinding(1, AddTextCommand);
             //添加图像
             //添加图像
-            customMenu.SetMenuBinding(2, sender, AddImgCommand);
+            customMenu.SetMenuBinding(2, AddImgCommand);
 
 
             return popMenu;
             return popMenu;
         }
         }
@@ -379,21 +379,21 @@ namespace PDF_Office.ViewModels.PropertyPanel.PDFEdit
         private ContextMenu SelectImgPDFEdit(object sender)
         private ContextMenu SelectImgPDFEdit(object sender)
         {
         {
             var popMenu = App.Current.FindResource("SelectImgMenu") as ContextMenu;
             var popMenu = App.Current.FindResource("SelectImgMenu") as ContextMenu;
-            CustomPopMenu customMenu = new CustomPopMenu(popMenu);
+            CustomPopMenu customMenu = new CustomPopMenu(popMenu,sender);
             //复制
             //复制
-            customMenu.SetMenuBinding(0, sender, ApplicationCommands.Copy);
+            customMenu.SetMenuBinding(0, ApplicationCommands.Copy);
             //剪切
             //剪切
-            customMenu.SetMenuBinding(1, sender, ApplicationCommands.Cut);
+            customMenu.SetMenuBinding(1, ApplicationCommands.Cut);
             //粘贴
             //粘贴
-            customMenu.SetMenuBinding(2, sender, ApplicationCommands.Paste);
+            customMenu.SetMenuBinding(2, ApplicationCommands.Paste);
             //删除
             //删除
-            customMenu.SetMenuBinding(3, sender, ApplicationCommands.Delete);
+            customMenu.SetMenuBinding(3, ApplicationCommands.Delete);
             //裁剪
             //裁剪
-            customMenu.SetMenuBinding(4, sender, CropModeCommand);
+            customMenu.SetMenuBinding(4, CropModeCommand);
             //替换
             //替换
-            customMenu.SetMenuBinding(5, sender, ReplaceImgCommand);
+            customMenu.SetMenuBinding(5, ReplaceImgCommand);
             //导出
             //导出
-            customMenu.SetMenuBinding(6, sender, ExportImgCommand);
+            customMenu.SetMenuBinding(6, ExportImgCommand);
             return popMenu;
             return popMenu;
         }
         }
 
 

+ 18 - 18
PDF Office/ViewModels/PropertyPanel/PDFEdit/TextEditPropertyViewModel.cs

@@ -205,9 +205,9 @@ namespace PDF_Office.ViewModels.PropertyPanel.PDFEdit
 
 
         private void SelectedFontStyle(object obj)
         private void SelectedFontStyle(object obj)
         {
         {
-            if (obj != null && (FontStyleItem)obj != null)
+            if (obj != null && (PresetFontItem)obj != null)
             {
             {
-                var item = (FontStyleItem)obj;
+                var item = (PresetFontItem)obj;
 
 
             }
             }
         }
         }
@@ -287,13 +287,13 @@ namespace PDF_Office.ViewModels.PropertyPanel.PDFEdit
         private ContextMenu EmptyStateMenu(object sender)
         private ContextMenu EmptyStateMenu(object sender)
         {
         {
             var popMenu = App.Current.FindResource("NoneMenu") as ContextMenu;
             var popMenu = App.Current.FindResource("NoneMenu") as ContextMenu;
-            CustomPopMenu customMenu = new CustomPopMenu(popMenu);
+            CustomPopMenu customMenu = new CustomPopMenu(popMenu, sender);
             //粘贴
             //粘贴
-            customMenu.SetMenuBinding(0, sender, ApplicationCommands.Paste);
+            customMenu.SetMenuBinding(0, ApplicationCommands.Paste);
             //添加文本
             //添加文本
-            customMenu.SetMenuBinding(1, sender, AddTextCommand);
+            customMenu.SetMenuBinding(1, AddTextCommand);
             //添加图像
             //添加图像
-            customMenu.SetMenuBinding(2, sender, AddImgCommand);
+            customMenu.SetMenuBinding(2, AddImgCommand);
 
 
             return popMenu;
             return popMenu;
         }
         }
@@ -302,17 +302,17 @@ namespace PDF_Office.ViewModels.PropertyPanel.PDFEdit
         private ContextMenu SelectTextBorder(object sender)
         private ContextMenu SelectTextBorder(object sender)
         {
         {
             var popMenu = App.Current.FindResource("SelectTextMenu") as ContextMenu;
             var popMenu = App.Current.FindResource("SelectTextMenu") as ContextMenu;
-            CustomPopMenu customMenu = new CustomPopMenu(popMenu);
+            CustomPopMenu customMenu = new CustomPopMenu(popMenu, sender);
             //编辑
             //编辑
-            customMenu.SetMenuBinding(0, sender, EditTextModeCommand);
+            customMenu.SetMenuBinding(0, EditTextModeCommand);
             //复制
             //复制
-            customMenu.SetMenuBinding(1, sender, ApplicationCommands.Copy);
+            customMenu.SetMenuBinding(1, ApplicationCommands.Copy);
             //剪切
             //剪切
-            customMenu.SetMenuBinding(2, sender, ApplicationCommands.Cut);
+            customMenu.SetMenuBinding(2, ApplicationCommands.Cut);
             //粘贴
             //粘贴
-            customMenu.SetMenuBinding(3, sender, ApplicationCommands.Paste);
+            customMenu.SetMenuBinding(3, ApplicationCommands.Paste);
             //删除
             //删除
-            customMenu.SetMenuBinding(4, sender, ApplicationCommands.Delete);
+            customMenu.SetMenuBinding(4, ApplicationCommands.Delete);
          
          
             customMenu.SetVisibilityProperty(6, false);
             customMenu.SetVisibilityProperty(6, false);
 
 
@@ -323,19 +323,19 @@ namespace PDF_Office.ViewModels.PropertyPanel.PDFEdit
         private ContextMenu SelectTextContent(object sender)
         private ContextMenu SelectTextContent(object sender)
         {
         {
             var popMenu = App.Current.FindResource("SelectContentMenu") as ContextMenu;
             var popMenu = App.Current.FindResource("SelectContentMenu") as ContextMenu;
-            CustomPopMenu customMenu = new CustomPopMenu(popMenu);
+            CustomPopMenu customMenu = new CustomPopMenu(popMenu, sender);
             //复制
             //复制
-            customMenu.SetMenuBinding(0, sender, ApplicationCommands.Copy);
+            customMenu.SetMenuBinding(0, ApplicationCommands.Copy);
             //剪切
             //剪切
-            customMenu.SetMenuBinding(1, sender, ApplicationCommands.Cut);
+            customMenu.SetMenuBinding(1, ApplicationCommands.Cut);
             //粘贴
             //粘贴
-            customMenu.SetMenuBinding(2, sender, ApplicationCommands.Paste);
+            customMenu.SetMenuBinding(2, ApplicationCommands.Paste);
             //粘贴并匹配样式
             //粘贴并匹配样式
             customMenu.SetVisibilityProperty(3, false);
             customMenu.SetVisibilityProperty(3, false);
             //删除
             //删除
-            customMenu.SetMenuBinding(4, sender, ApplicationCommands.Delete);
+            customMenu.SetMenuBinding(4, ApplicationCommands.Delete);
             //全部选定
             //全部选定
-            customMenu.SetMenuBinding(5, sender, ApplicationCommands.SelectAll);
+            customMenu.SetMenuBinding(5, ApplicationCommands.SelectAll);
 
 
             return popMenu;
             return popMenu;
         }
         }

+ 4 - 4
PDF Office/ViewModels/Tools/TextEditToolContentViewModel.cs

@@ -230,14 +230,14 @@ namespace PDF_Office.ViewModels.Tools
         private ContextMenu EmptyStateMenu(object sender)
         private ContextMenu EmptyStateMenu(object sender)
         {
         {
             var popMenu = App.Current.FindResource("NoneMenu") as ContextMenu;
             var popMenu = App.Current.FindResource("NoneMenu") as ContextMenu;
-            CustomPopMenu customMenu = new CustomPopMenu(popMenu);
+            CustomPopMenu customMenu = new CustomPopMenu(popMenu, sender);
 
 
             //粘贴
             //粘贴
-            customMenu.SetMenuBinding(0, sender, ApplicationCommands.Paste);
+            customMenu.SetMenuBinding(0, ApplicationCommands.Paste);
             //添加文本
             //添加文本
-            customMenu.SetMenuBinding(1, sender, AddTextCommand);
+            customMenu.SetMenuBinding(1, AddTextCommand);
             //添加图像
             //添加图像
-            customMenu.SetMenuBinding(2, sender, AddImgCommand);
+            customMenu.SetMenuBinding(2, AddImgCommand);
 
 
             return popMenu;
             return popMenu;
         }
         }