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 ButtonPropertyViewModel : FormBaseVM, INavigationAware { #region 属性 #region 选项 //标签 private string _labelContent; public string LabelContent { get { return _labelContent; } set { SetProperty(ref _labelContent, value); } } private string _emailContent; public string EmailContent { get { return _emailContent; } set { SetProperty(ref _emailContent, value); } } #endregion #endregion #region Command #endregion #region 变量 private CPDFViewer PDFViewer; private WidgetPushButtonArgs pushButtonArgs; #endregion #region 初始化 public ButtonPropertyViewModel() { InitVariable(); InitCommand(); } private void InitVariable() { } private void InitCommand() { } #endregion #region 一般处理 #endregion #region 外观处理 #endregion #region 选项处理 #endregion #region Navegation public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { pushButtonArgs = null; } public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue(ParameterNames.PDFViewer, out PDFViewer); navigationContext.Parameters.TryGetValue("WidgetArgs", out pushButtonArgs); GetWidgeText(); } private void GetWidgeText() { if (pushButtonArgs == null) { WidgetPushButtonArgs pushButtonArgs = new WidgetPushButtonArgs(); pushButtonArgs.BgColor = Colors.White; pushButtonArgs.FontFamily = "Courier New"; pushButtonArgs.FontSize = 12; pushButtonArgs.FontColor = Colors.Black; pushButtonArgs.LineColor = Colors.Black; pushButtonArgs.LineWidth = 1; var action = new Dictionary(); action.Add(ComPDFKit.PDFDocument.Action.C_ACTION_TYPE.ACTION_TYPE_URI, ""); pushButtonArgs.ActionDict = action; pushButtonArgs.FieldName = "PushButton"; pushButtonArgs.Text = "PushButton"; this.pushButtonArgs = pushButtonArgs; } PDFViewer.SetMouseMode(MouseModes.FormEditTool); PDFViewer.SetToolParam(pushButtonArgs); } #endregion } }