using ComPDFKit.PDFDocument; using ComPDFKitViewer; using ComPDFKitViewer.AnnotEvent; using PDF_Office.CustomControl.CompositeControl; using PDF_Office.Helper; using Prism.Mvvm; using Prism.Regions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; namespace PDF_Office.ViewModels.Tools { //文件说明:与布局相关的代码逻辑:菜单、属性面板 public sealed partial class AnnotToolContentViewModel : BindableBase, INavigationAware { #region 属性面板 /// /// 导航到同一个注释xaml时,需要区分某个注释;比如高亮、删除线、下划线 /// /// 对应的注释面板 /// 导航到同一个注释xaml时,需要区分某个注释;比如高亮、删除线、下划线 /// 注释 /// 更改注释属性的键值对,更改值后会自动记录undoRedo容器里 private void AddToPropertyPanel(string viewContent, string toolTag = null, List annots = null, AnnotAttribEvent annotAttribEvent = null) { if (annots != null) { propertyPanel.annotlists = annots; propertyPanel.annot = annots[0]; } else { propertyPanel.annotlists = null; propertyPanel.annot = null; } if (annots.Count > 1) { if (propertyPanel.AnnotEvents == null) propertyPanel.AnnotEvents = new List(); propertyPanel.AnnotEvents.Clear(); foreach (var itemAnnot in annots) { var eventitem = AnnotAttribEvent.GetAnnotAttribEvent(itemAnnot, itemAnnot.GetAnnotAttrib()); propertyPanel.AnnotEvents.Add(eventitem); } } propertyPanel.SetIsTextFill(false); propertyPanel.AnnotEvent = AnnotAttribEvent.GetAnnotAttribEvent(annots[0], annots[0].GetAnnotAttrib()); if (annots[0] is LinkAnnotArgs && annotAttribEvent != null) { propertyPanel.AnnotEvent = annotAttribEvent; } if (string.IsNullOrEmpty(viewContent) == false) { viewContentViewModel.SelectedPrpoertyPanel(viewContent, propertyPanel); } } /// /// 展开显示属性面板 /// private void ShowPropertyPanel(bool show = true) { viewContentViewModel.IsPropertyOpen = show; } #endregion 属性面板 #region 阅读页 - 右键菜单 private ContextMenu ViewerContextMenu(object sender) { ContextMenu contextMenu = App.Current.FindResource("ViewerContextMenu") as ContextMenu; //contextMenu.Loaded += ContextMenu_Loaded; ViewerContextMenu_Loaded(contextMenu, sender); return contextMenu; } private void ViewerContextMenu_Loaded(object sender, object e) { ContextMenu contextMenu = sender as ContextMenu; if (contextMenu.Items.Count > 0) { int index = PDFViewer.CurrentIndex; //检测是否已存在相同数据 CPDFBookmark list = PDFViewer.Document.GetBookmarkList().FirstOrDefault(q => q.PageIndex == index); if (list != null) { isAddBookMark = false; } else { isAddBookMark = true; } foreach (var item in contextMenu.Items) { if (item is MenuItem menuItem1) { //if (menuItem1.Tag.ToString() == "DisplayAnnot" || menuItem1.Tag.ToString() == "HiddenAnnot") //{ // SetMenuItemVisibility(menuItem1, "DisplayAnnot", "HiddenAnnot", isHiddenAnnot); //} switch (menuItem1.Tag.ToString()) { case "Paste": //粘贴 //if (!ApplicationCommands.Paste.CanExecute(null, (UIElement)sender)) //{ // menuItem1.IsEnabled = false; // menuItem1.Opacity = 0.5; //} //else //{ // menuItem1.IsEnabled = true; // menuItem1.Opacity = 1; //} menuItem1.CommandTarget = (UIElement)e; menuItem1.Command = ApplicationCommands.Paste; break; case "AddAnnotation": if (menuItem1.Items.Count > 0) { SetAddAnnotation(menuItem1.Items); } break; case "HiddenAnnot": menuItem1.Click -= HiddenAnnot_Click; menuItem1.Click += HiddenAnnot_Click; SetMenuItemVisibility(menuItem1, "DisplayAnnot", "HiddenAnnot", isHiddenAnnot); break; case "DisplayAnnot": menuItem1.Click -= DisplayAnnot_Click; menuItem1.Click += DisplayAnnot_Click; SetMenuItemVisibility(menuItem1, "DisplayAnnot", "HiddenAnnot", isHiddenAnnot); break; case "AddBookMark": //menuItem1.Click -= AddBookMark_Click; //menuItem1.Click += AddBookMark_Click; menuItem1.Command = AddBookMarkCommand; SetMenuItemVisibility(menuItem1, "DelBookMark", "AddBookMark", isAddBookMark); break; case "DelBookMark": menuItem1.Click -= DelBookMark_Click; menuItem1.Click += DelBookMark_Click; SetMenuItemVisibility(menuItem1, "DelBookMark", "AddBookMark", isAddBookMark); break; case "ToolMode": if (menuItem1.Items.Count > 0) { SetToolMode(menuItem1.Items); } break; case "ReadModel": SetMenuItemVisibility(menuItem1, "ReadModel", "UnReadModel", App.IsBookMode); menuItem1.Click -= ReadModel_Click; menuItem1.Click += ReadModel_Click; break; case "UnReadModel": SetMenuItemVisibility(menuItem1, "ReadModel", "UnReadModel", App.IsBookMode); menuItem1.Click -= UnReadModel_Click; menuItem1.Click += UnReadModel_Click; break; case "ViewZoom": if (menuItem1.Items.Count > 0) { ViewZoom(menuItem1.Items); } break; case "PageDisplay": if (menuItem1.Items.Count > 0) { PageDisplay(menuItem1.Items); } break; case "Select": menuItem1.Click -= Select_Click; menuItem1.Click += Select_Click; break; case "Print": menuItem1.Command = viewContentViewModel.PrintCommand; break; } } } } } private void SetMenuItemVisibility(MenuItem menuItem1, string right, string deny, bool flag) { if (menuItem1.Tag.ToString() == right && flag) { menuItem1.Visibility = Visibility.Collapsed; } if (menuItem1.Tag.ToString() == right && flag == false) { menuItem1.Visibility = Visibility.Visible; } if (menuItem1.Tag.ToString() == deny && flag == false) { menuItem1.Visibility = Visibility.Collapsed; } if (menuItem1.Tag.ToString() == deny && flag) { menuItem1.Visibility = Visibility.Visible; } } private ContextMenu NoneSelectAnnotContextMenu(object sender, AnnotCommandArgs annotCommand) { ContextMenu popMenu = new ContextMenu(); popMenu.FontSize = 14; MenuItem menuItem = new MenuItem(); menuItem = new MenuItem(); menuItem.CommandTarget = (UIElement)sender; menuItem.Command = ApplicationCommands.Copy; popMenu.Items.Add(menuItem); menuItem = new MenuItem(); menuItem.CommandTarget = (UIElement)sender; menuItem.Command = ApplicationCommands.Paste; popMenu.Items.Add(menuItem); Separator separator = null; if (annotCommand.CommandTarget == TargetType.ImageSelection) { separator = SetSeparator(); popMenu.Items.Add(separator); SetSelectTextOrImageMenuItem("导出图片...", "ExportPicture", annotCommand, out menuItem); popMenu.Items.Add(menuItem); } else if (annotCommand.CommandTarget == TargetType.Annot) { separator = SetSeparator(); popMenu.Items.Add(separator); SetSelectTextOrImageMenuItem("高亮", "HighLight", annotCommand, out menuItem); popMenu.Items.Add(menuItem); SetSelectTextOrImageMenuItem("下划线", "UnderLine", annotCommand, out menuItem); popMenu.Items.Add(menuItem); SetSelectTextOrImageMenuItem("删除线", "Strikeout", annotCommand, out menuItem); popMenu.Items.Add(menuItem); } separator = SetSeparator(); popMenu.Items.Add(separator); SetSelectTextOrImageMenuItem("文本", "Freetext", annotCommand, out menuItem); popMenu.Items.Add(menuItem); SetSelectTextOrImageMenuItem("便签", "StickyNote", annotCommand, out menuItem); popMenu.Items.Add(menuItem); separator = SetSeparator(); popMenu.Items.Add(separator); SetSelectTextOrImageMenuItem("矩形", "Rect", annotCommand, out menuItem); popMenu.Items.Add(menuItem); SetSelectTextOrImageMenuItem("椭圆形", "Circle", annotCommand, out menuItem); popMenu.Items.Add(menuItem); SetSelectTextOrImageMenuItem("直线", "Line", annotCommand, out menuItem); popMenu.Items.Add(menuItem); separator = SetSeparator(); popMenu.Items.Add(separator); SetSelectTextOrImageMenuItem("添加链接", "Link", annotCommand, out menuItem); popMenu.Items.Add(menuItem); SetSelectTextOrImageMenuItem("添加大纲", "OutLine", annotCommand, out menuItem); popMenu.Items.Add(menuItem); return popMenu; } private void SetSelectTextOrImageMenuItem(string header, string tag, AnnotCommandArgs annotCommand, out MenuItem menuItem) { menuItem = new MenuItem(); menuItem.Header = header; menuItem.Tag = tag; menuItem.Click -= AnnotToolMenu_Click; menuItem.Click += AnnotToolMenu_Click; menuItem.CommandParameter = annotCommand; } private Separator SetSeparator() { Separator separator = new Separator { Height = 1, BorderBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#33000000")), BorderThickness = new Thickness(1), Style = (Style)App.Current.FindResource(System.Windows.Controls.ToolBar.SeparatorStyleKey) }; return separator; } #endregion 阅读页 - 右键菜单 #region 注释-右键菜单 /// /// 高亮注释,右键菜单 /// private void InitSelectHightAnnotMenu() { var popMenu = new ContextMenu(); PopMenu pop = new PopMenu(popMenu); ColorContent colorContent = new ColorContent(); colorContent.Name = "hightcolor"; colorContent.SelectedColorHandler -= colorContent_SelectedColorHandler; colorContent.SelectedColorHandler += colorContent_SelectedColorHandler; colorContent.VerticalAlignment = VerticalAlignment.Top; colorContent.Height = 60; var menuItem = new MenuItem(); menuItem.Name = "hightColor"; menuItem.Height = colorContent.Height; menuItem.Header = colorContent; var hightColorStyle = App.Current.FindResource("UIElementMenuItem") as Style; if (hightColorStyle != null) menuItem.Style = hightColorStyle; pop.AddItem(menuItem); pop.AddItem(GetSeparator()); menuItem = new MenuItem(); menuItem.Name = "hightCopyText"; menuItem.Header = "复制文本"; pop.BindingEvent(pop.AddItem(menuItem), HightAnnotCopyText_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "hightdelete"; menuItem.Header = "删除"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Delete); pop.AddItem(GetSeparator()); menuItem = new MenuItem(); menuItem.Name = "hightAddNote"; menuItem.Header = "添加笔记"; pop.BindingEvent(pop.AddItem(menuItem), AnnotAddNoteText_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "hightdefault"; menuItem.Header = "设置当前属性为默认值"; pop.BindingEvent(pop.AddItem(menuItem), AnnotDefaultValue_MenuCommand); HightAnnotPopMenu = pop; } private Separator GetSeparator() { Separator separator = new Separator(); separator.Height = 1; separator.BorderBrush = new SolidColorBrush(Color.FromArgb(0x33, 0x00, 0x00, 0x00)); separator.BorderThickness = new Thickness(1); return separator; } private void colorContent_SelectedColorHandler(object sender, Color e) { if (e == null) return; var annot = (sender as FrameworkElement).DataContext as AnnotHandlerEventArgs; if (annot != null) { var test = annot as TextHighlightAnnotArgs; if (test != null) { var anvent = AnnotAttribEvent.GetAnnotAttribEvent(test, test.GetAnnotAttrib()); anvent.UpdateAttrib(AnnotAttrib.Color, e); anvent.UpdateAnnot(); } } } /// /// 手绘 /// private void InitSelectFreeHandAnnotMenu() { var popMenu = new ContextMenu(); PopMenu pop = new PopMenu(popMenu); var menuItem = new MenuItem(); menuItem.Name = "FreeHandCopy"; menuItem.Header = "复制"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Copy); menuItem = new MenuItem(); menuItem.Name = "FreeHandCut"; menuItem.Header = "剪切"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Cut); menuItem = new MenuItem(); menuItem.Name = "FreeHandPaste"; menuItem.Header = "粘贴"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Paste); menuItem = new MenuItem(); menuItem.Name = "FreeHandDelete"; menuItem.Header = "删除"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Delete); pop.AddItem(GetSeparator()); menuItem = new MenuItem(); menuItem.Name = "FreeHandColor"; menuItem.Header = "颜色..."; pop.BindingEvent(pop.AddItem(menuItem), AnnotColorPalette_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeHandLineStyle"; menuItem.Header = "线段样式"; pop.AddItem(menuItem); RadioButton radioButton = new RadioButton(); radioButton.Name = "FreeHandSolid"; radioButton.Content = "实线"; radioButton.GroupName = "LineStyle"; radioButton.Tag = "Solid"; pop.BindingEvent(pop.AddChild("FreeHandLineStyle", radioButton), FreeHandLineStyle_MenuCommand); radioButton = new RadioButton(); radioButton.Name = "FreeHandDash"; radioButton.Content = "虚线"; radioButton.GroupName = "LineStyle"; radioButton.Tag = "Dash"; pop.BindingEvent(pop.AddChild("FreeHandLineStyle", radioButton), FreeHandLineStyle_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeHandAddNote"; menuItem.Header = "添加笔记"; pop.BindingEvent(pop.AddItem(menuItem), AnnotAddNoteText_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeHandDefault"; menuItem.Header = "设置当前属性为默认值"; pop.BindingEvent(pop.AddItem(menuItem), AnnotDefaultValue_MenuCommand); FreeHandAnnotPopMenu = pop; } /// /// 文本 /// private void InitSelectFreeTextAnnotMenu() { var popMenu = new ContextMenu(); PopMenu pop = new PopMenu(popMenu); var menuItem = new MenuItem(); menuItem.Name = "FreeTextCopy"; menuItem.Header = "复制"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Copy); menuItem = new MenuItem(); menuItem.Name = "FreeTextCut"; menuItem.Header = "剪切"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Cut); menuItem = new MenuItem(); menuItem.Name = "FreeTextPaste"; menuItem.Header = "粘贴"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Paste); menuItem = new MenuItem(); menuItem.Name = "FreeTextDelete"; menuItem.Header = "删除"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Delete); pop.AddItem(GetSeparator()); menuItem = new MenuItem(); menuItem.Name = "FreeTextColor"; menuItem.Header = "颜色..."; pop.BindingEvent(pop.AddItem(menuItem), AnnotColorPalette_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeTextFontFamily"; menuItem.Header = "字体"; pop.AddItem(menuItem); menuItem = new MenuItem(); menuItem.Name = "FreeTextArial"; menuItem.Header = "楷体"; menuItem.Tag = "Arial"; pop.BindingEvent(pop.AddChild("FreeTextFontFamily", menuItem), FreeTextFontFamily_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeTextCourier"; menuItem.Header = "Courier"; menuItem.Tag = "Courier"; pop.BindingEvent(pop.AddChild("FreeTextFontFamily", menuItem), FreeTextFontFamily_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeTextTimesRoman"; menuItem.Header = "Times New Roman"; menuItem.Tag = /*"Times New Roman"*/"Times"; pop.BindingEvent(pop.AddChild("FreeTextFontFamily", menuItem), FreeTextFontFamily_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeTextAglin"; menuItem.Header = "文本对齐"; pop.AddItem(menuItem); menuItem = new MenuItem(); menuItem.Name = "FreeTextAglinLeft"; menuItem.Header = "左对齐"; menuItem.Tag = "Left"; pop.BindingEvent(pop.AddChild("FreeTextAglin", menuItem), FreeTextAglin_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeTextAglinCenter"; menuItem.Header = "居中对齐"; menuItem.Tag = "Center"; pop.BindingEvent(pop.AddChild("FreeTextAglin", menuItem), FreeTextAglin_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeTextAglinRight"; menuItem.Header = "右对齐"; menuItem.Tag = "Right"; pop.BindingEvent(pop.AddChild("FreeTextAglin", menuItem), FreeTextAglin_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "FreeHandDefault"; menuItem.Header = "设置当前属性为默认值"; pop.BindingEvent(pop.AddItem(menuItem), AnnotDefaultValue_MenuCommand); FreeTextAnnotPopMenu = pop; } /// /// 便签 /// private void InitSelectStrickNoteAnnotMenu() { var popMenu = new ContextMenu(); PopMenu pop = new PopMenu(popMenu); var menuItem = new MenuItem(); menuItem.Name = "StrickNoteCopy"; menuItem.Header = "复制"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Copy); menuItem = new MenuItem(); menuItem.Name = "StrickNoteCut"; menuItem.Header = "剪切"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Cut); menuItem = new MenuItem(); menuItem.Name = "StrickNotePaste"; menuItem.Header = "粘贴"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Paste); menuItem = new MenuItem(); menuItem.Name = "StrickNoteDelete"; menuItem.Header = "删除"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Delete); pop.AddItem(GetSeparator()); menuItem = new MenuItem(); menuItem.Name = "StrickNoteColor"; menuItem.Header = "颜色..."; pop.BindingEvent(pop.AddItem(menuItem), AnnotColorPalette_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "StrickNoteEdit"; menuItem.Header = "编辑便签"; pop.BindingEvent(pop.AddItem(menuItem), StrikeNoteEditStrike_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "StrickNoteDefault"; menuItem.Header = "设置当前属性为默认值"; pop.BindingEvent(pop.AddItem(menuItem), AnnotDefaultValue_MenuCommand); StrickNoteAnnotPopMenu = pop; } /// /// 形状 /// private void InitSelectShapeAnnotMenu() { var popMenu = new ContextMenu(); PopMenu pop = new PopMenu(popMenu); var menuItem = new MenuItem(); menuItem.Name = "ShapeCopy"; menuItem.Header = "复制"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Copy); menuItem = new MenuItem(); menuItem.Name = "ShapeCut"; menuItem.Header = "剪切"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Cut); menuItem = new MenuItem(); menuItem.Name = "ShapePaste"; menuItem.Header = "粘贴"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Paste); menuItem = new MenuItem(); menuItem.Name = "ShapeDelete"; menuItem.Header = "删除"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Delete); pop.AddItem(GetSeparator()); menuItem = new MenuItem(); menuItem.Name = "ShapeColor"; menuItem.Header = "颜色..."; pop.BindingEvent(pop.AddItem(menuItem), AnnotColorPalette_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "ShapeLineStyle"; menuItem.Header = "线段样式"; pop.AddItem(menuItem); RadioButton radioButton = new RadioButton(); radioButton.Name = "ShapeSolid"; radioButton.Content = "实线"; radioButton.GroupName = "LineStyle"; radioButton.Tag = "Solid"; pop.BindingEvent(pop.AddChild("ShapeLineStyle", radioButton), ShapeLineStyle_MenuCommand); radioButton = new RadioButton(); radioButton.Name = "ShapeDash"; radioButton.Content = "虚线"; radioButton.GroupName = "LineStyle"; radioButton.Tag = "Dash"; pop.BindingEvent(pop.AddChild("ShapeLineStyle", radioButton), ShapeLineStyle_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "ShapeDirect"; menuItem.Header = "线段方向"; pop.AddItem(menuItem); menuItem = new MenuItem(); menuItem.Name = "ShapeVer"; menuItem.Header = "垂直"; menuItem.Tag = "Ver"; pop.BindingEvent(pop.AddChild("ShapeDirect", menuItem), ShapeLineDirect_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "ShapeHor"; menuItem.Header = "横向"; menuItem.Tag = "Hor"; pop.BindingEvent(pop.AddChild("ShapeDirect", menuItem), ShapeLineDirect_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "ShapeNoteText"; menuItem.Header = "添加笔记"; pop.BindingEvent(pop.AddItem(menuItem), AnnotAddNoteText_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "ShapeDefault"; menuItem.Header = "设置当前属性为默认值"; pop.BindingEvent(pop.AddItem(menuItem), AnnotDefaultValue_MenuCommand); ShapeAnnotPopMenu = pop; } /// /// 链接 /// private void InitSelectLinkAnnotMenu() { var popMenu = new ContextMenu(); PopMenu pop = new PopMenu(popMenu); var menuItem = new MenuItem(); menuItem.Name = "LinkCopy"; menuItem.Header = "复制"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Copy); menuItem = new MenuItem(); menuItem.Name = "LinkCut"; menuItem.Header = "剪切"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Cut); menuItem = new MenuItem(); menuItem.Name = "LinkPaste"; menuItem.Header = "粘贴"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Paste); menuItem = new MenuItem(); menuItem.Name = "LinkDelete"; menuItem.Header = "删除"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Delete); LinkAnnotPopMenu = pop; } /// /// 图章、签名 /// private void InitSelectStampAnnotMenu() { var popMenu = new ContextMenu(); PopMenu pop = new PopMenu(popMenu); var menuItem = new MenuItem(); menuItem.Name = "StampCopy"; menuItem.Header = "复制"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Copy); menuItem = new MenuItem(); menuItem.Name = "StampCut"; menuItem.Header = "剪切"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Cut); menuItem = new MenuItem(); menuItem.Name = "StampPaste"; menuItem.Header = "粘贴"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Paste); menuItem = new MenuItem(); menuItem.Name = "StampDelete"; menuItem.Header = "删除"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Delete); pop.AddItem(GetSeparator()); menuItem = new MenuItem(); menuItem.Name = "StampExportPicture"; menuItem.Header = "导出"; pop.AddItem(menuItem); menuItem = new MenuItem(); menuItem.Name = "StampExportPNG"; menuItem.Header = "PNG"; menuItem.Tag = "PNG"; pop.BindingEvent(pop.AddChild("StampExportPicture", menuItem), StampExportPicture_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "StampExportPNG"; menuItem.Header = "JPG"; menuItem.Tag = "JPG"; pop.BindingEvent(pop.AddChild("StampExportPicture", menuItem), StampExportPicture_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "StampExportPNG"; menuItem.Header = "PDF"; menuItem.Tag = "PDF"; pop.BindingEvent(pop.AddChild("StampExportPicture", menuItem), StampExportPicture_MenuCommand); menuItem = new MenuItem(); menuItem.Name = "StampAddNote"; menuItem.Header = "添加笔记"; pop.BindingEvent(pop.AddItem(menuItem), AnnotAddNoteText_MenuCommand); StampAnnotPopMenu = pop; } /// /// 多选注释 /// private void InitSelectMultiAnnotMenu() { var popMenu = new ContextMenu(); PopMenu pop = new PopMenu(popMenu); var menuItem = new MenuItem(); menuItem.Name = "MultiCopy"; menuItem.Header = "复制"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Copy); menuItem = new MenuItem(); menuItem.Name = "MultiCut"; menuItem.Header = "剪切"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Cut); menuItem = new MenuItem(); menuItem.Name = "MultiDelete"; menuItem.Header = "删除"; pop.BindingEvent(pop.AddItem(menuItem), ApplicationCommands.Delete); MultiAnnotPopMenu = pop; } #endregion 注释-右键菜单 } }