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 TextFieldPropertyViewModel : FormBaseVM, INavigationAware { #region 属性 #region 选项 //默认值 private string _defaultValue; public string DefaultValue { get { return _defaultValue; } set { SetProperty(ref _defaultValue, value); } } //多行 private bool _isMultiline = false; public bool IsMultiline { get { return _isMultiline; } set { SetProperty(ref _isMultiline, value); } } //滚动显示长文本 private bool _isScrollText = false; public bool IsScrollText { get { return _isScrollText; } set { SetProperty(ref _isScrollText, value); } } #endregion #endregion #region Command #endregion #region 变量 private CPDFViewer PDFViewer; private WidgetTextBoxArgs textBoxArgs; #endregion #region 初始化 public TextFieldPropertyViewModel() { 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) { textBoxArgs = null; } public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue(ParameterNames.PDFViewer, out PDFViewer); navigationContext.Parameters.TryGetValue("WidgetArgs", out textBoxArgs); GetWidgeText(); } private void GetWidgeText() { if (textBoxArgs == null) { WidgetTextBoxArgs textArgs = new WidgetTextBoxArgs(); textArgs.BgColor = Colors.Transparent; textArgs.FontSize = 12; textArgs.FontFamily = "Courier New"; textArgs.FontColor = Colors.Black; textArgs.FieldName = "TextBox"; textBoxArgs = textArgs; } PDFViewer.SetMouseMode(MouseModes.FormEditTool); PDFViewer.SetToolParam(textBoxArgs); } #endregion } }