using ComPDFKitViewer.AnnotEvent; using ComPDFKitViewer.PdfViewer; using PDF_Office.Model; 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.Media; namespace PDF_Office.ViewModels.Form { public class SignPropertyViewModel : FormBaseVM, INavigationAware { #region 属性 #endregion #region Command #endregion #region 变量 private CPDFViewer PDFViewer; private WidgetSignArgs signArgs; #endregion #region 初始化 public SignPropertyViewModel() { InitVariable(); InitCommand(); } private void InitVariable() { } private void InitCommand() { ChangeValueHandler -= ChangeValue; ChangeValueHandler += ChangeValue; } #endregion #region 一般处理 #endregion #region 外观处理 #endregion #region 选项处理 #endregion #region Navegation public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { signArgs = null; } public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue(ParameterNames.PDFViewer, out PDFViewer); navigationContext.Parameters.TryGetValue("WidgetArgs", out signArgs); GetWidgeText(); } private void GetWidgeText() { PDFViewer.SetMouseMode(MouseModes.FormEditTool); if (signArgs == null) { signArgs = new WidgetSignArgs(); signArgs.LineWidth = 1; signArgs.LineColor = Colors.Black; PDFViewer.SetToolParam(signArgs); } else { PDFViewer.SetToolParam(new AnnotHandlerEventArgs()); } } //更改基类公共属性后,触发的事件 private void ChangeValue(object sender, FormAttributeType e) { switch (e) { case FormAttributeType.Name: break; case FormAttributeType.ToolTip: break; case FormAttributeType.IsSolid: break; case FormAttributeType.IsLocked: break; case FormAttributeType.HeightSize: break; case FormAttributeType.BorderThiness: break; case FormAttributeType.BorderColor: break; case FormAttributeType.ContentColor: break; case FormAttributeType.IsReadOnly: break; case FormAttributeType.WidthSize: break; case FormAttributeType.IsRequiredField: break; } } #endregion } }