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 CheckBoxPropertyViewModel : FormBaseVM, INavigationAware { #region 属性 #region 选项 //导出值 private string _exportValue; public string ExportValue { get { return _exportValue; } set { SetProperty(ref _exportValue, value); } } //复选框默认为选中 private bool _isDefaultChecked = false; public bool IsDefaultChecked { get { return _isDefaultChecked; } set { SetProperty(ref _isDefaultChecked, value); } } #endregion #endregion #region Command #endregion #region 变量 private CPDFViewer PDFViewer; private WidgetCheckBoxArgs checkBoxArgs; #endregion #region 初始化 public CheckBoxPropertyViewModel() { 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) { checkBoxArgs = null; } public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue(ParameterNames.PDFViewer, out PDFViewer); navigationContext.Parameters.TryGetValue("WidgetArgs", out checkBoxArgs); GetWidgeText(); } private void GetWidgeText() { PDFViewer.SetMouseMode(MouseModes.FormEditTool); if (checkBoxArgs == null) { checkBoxArgs = new WidgetCheckBoxArgs(); checkBoxArgs.BgColor = Colors.Transparent; checkBoxArgs.FontColor = Colors.Black; checkBoxArgs.LineWidth = 1; checkBoxArgs.LineColor = Colors.Black; checkBoxArgs.FieldName = "CheckBox1"; PDFViewer.SetToolParam(checkBoxArgs); } 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 } }