using ComPDFKitViewer.AnnotEvent; using ComPDFKitViewer.PdfViewer; using PDF_Office.CustomControl; using PDF_Office.ViewModels.PropertyPanel.AnnotPanel; using Prism.Commands; using Prism.Events; using Prism.Regions; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media; namespace PDF_Office.ViewModels.Tools { /// /// 改变工具栏注释属性值,主要用来传参数:注释属性和同步工具栏对应图标的属性(颜色) /// public class AnnotPropertyPanel { public AnnotAttribEvent AnnotEvent { get; set; } public List AnnotEvents = new List(); public AnnotHandlerEventArgs annot; public List annotlists; public event EventHandler> DataChanged; public event EventHandler> AnnotTypeChanged; public event EventHandler DefaultStored; public AnnotPropertyPanel() { } /// /// 触发到工具栏注释工具,改变工具图标下的颜色值 /// /// /// public void DataChangedInvoke(object sender, Dictionary keyValues) { DataChanged?.Invoke(sender, keyValues); } public void AnnotTypeChangedInvoke(object sender, Dictionary keyValues) { AnnotTypeChanged?.Invoke(sender, keyValues); } } public sealed partial class AnnotToolContentViewModel { #region 属性 #region 注释工具 //高亮 private Brush highLightColor = new SolidColorBrush(Color.FromRgb(0xFF, 0xBB, 0x00)); public Brush HighLightColor { get { return highLightColor; } set { SetProperty(ref highLightColor, value); } } // private double highLightOpacity = 1; public double HighLightOpacity { get { return highLightOpacity; } set { SetProperty(ref highLightOpacity, value); } } // private Brush underLine = new SolidColorBrush(Color.FromRgb(0xFF, 0xBB, 0x00)); public Brush UnderLineColor { get { return underLine; } set { SetProperty(ref underLine, value); } } // private double underLineOpacity = 1; public double UnderLineOpacity { get { return underLineOpacity; } set { SetProperty(ref underLineOpacity, value); } } // private Brush squigglyColor = new SolidColorBrush(Color.FromRgb(0xFF, 0xBB, 0x00)); public Brush SquigglyColor { get { return squigglyColor; } set { SetProperty(ref squigglyColor, value); } } // private double squigglyOpacity = 1; public double SquigglyOpacity { get { return squigglyOpacity; } set { SetProperty(ref squigglyOpacity, value); } } // private Brush strikeoutColor = new SolidColorBrush(Color.FromRgb(0xFF, 0xBB, 0x00)); public Brush StrikeoutColor { get { return strikeoutColor; } set { SetProperty(ref strikeoutColor, value); } } // private double strikeoutOpacity = 1; public double StrikeoutOpacity { get { return strikeoutOpacity; } set { SetProperty(ref strikeoutOpacity, value); } } private bool btnSelecttoolIsChecked = false; public bool BtnSelecttoolIsChecked { get { return btnSelecttoolIsChecked; } set { SetProperty(ref btnSelecttoolIsChecked, value); } } private bool btnLinkIsChecked = false; public bool BtnLinkIsChecked { get { return btnLinkIsChecked; } set { SetProperty(ref btnLinkIsChecked, value); } } private bool btnHandIsChecked = false; public bool BtnHandIsChecked { get { return btnHandIsChecked; } set { SetProperty(ref btnHandIsChecked, value); } } #endregion 注释工具 #endregion 属性 public string PropertyRegionName { get; set; } private IEventAggregator events; public IDialogService dialogs; public IRegionManager region; private CPDFViewer PDFViewer; private ViewContentViewModel viewContentViewModel; private AnnotPropertyPanel propertyPanel = new AnnotPropertyPanel(); private Dictionary ToolExpandDict = new Dictionary(); private bool isHiddenAnnot = true; private bool isAddBookMark = true; private bool isRightMenuAddAnnot = false; #region 事件 public DelegateCommand MyToolsCommand { get; set; } private SnapshotEditMenuViewModel snapshotEditMenuViewModel = new SnapshotEditMenuViewModel(); public SnapshotEditMenuViewModel SnapshotEditMenuViewModel { get => snapshotEditMenuViewModel; set => snapshotEditMenuViewModel = value; } public DelegateCommand SetAddAnnotationCommand { get; set; } #endregion 事件 } public enum AddAnnotType { AnnotFreehand,//绘制 AnnotFreeText = 1,//文本 AnnotSticky,//便签 AnnotSquare,//矩形 AnnotCircle,//椭圆形 AnnotArrow,//箭头 AnnotLine,//直线 AnnotLink,//链接 AnnotStamp,//图章 AnnotAutograph //签名 } }