123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- using ComPDFKitViewer.PdfViewer;
- using PDF_Office.EventAggregators;
- using PDF_Office.Model;
- using Prism.Commands;
- using Prism.Events;
- using Prism.Mvvm;
- using Prism.Regions;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Windows;
- namespace PDF_Office.ViewModels.EditTools.Watermark
- {
- public class WatermarkContentViewModel : BindableBase,INavigationAware
- {
- public IEventAggregator eventAggregator;
- public IRegionManager watermarkRegion;
- public string TemplateListName = "WatermarkTemplateListBaseContent";
- public string CreateName = "WatermarkCreateBaseContent";
- public string CreateModTextName = "WatermarkCreateTextContent";
- public string CreateModFileName = "WatermarkCreateFileContent";
- public string WatermarkDocumentName = "WatermarkDocumentContent";
- private string _watermarkSettingsRegionName;
- public string WatermarkSettingsRegionName
- {
- get { return _watermarkSettingsRegionName; }
- set { _watermarkSettingsRegionName = value; }
- }
- private Visibility _watermarkSettingsVisible = Visibility.Collapsed;
- public Visibility WatermarkSettingsVisible
- {
- get { return _watermarkSettingsVisible; }
- set { _watermarkSettingsVisible = value; }
- }
- private string _watermarkDocumentRegionName;
- /// <summary>
- /// 持有Document的Region,负责渲染和保存
- /// </summary>
- public string WatermarkDocumentRegionName
- {
- get { return _watermarkDocumentRegionName; }
- set { _watermarkDocumentRegionName = value; }
- }
- private Visibility _watermarkDocumentVisible = Visibility.Visible;
- /// <summary>
- /// 持有Document的Region可见
- /// </summary>
- public Visibility WatermarkDocumentVisible
- {
- get { return _watermarkDocumentVisible; }
- set { _watermarkDocumentVisible = value; }
- }
- private EnumTextOrFile _currentCreateMod;
- public EnumTextOrFile CurrentCreateMod
- {
- get { return _currentCreateMod; }
- set { _currentCreateMod = value; }
- }
- public DelegateCommand CloseEditToolCommand { get; set; }
- public DelegateCommand ConfirmEditToolCommand { get; set; }
- public DelegateCommand<string> EnterSelectedContentCommand { get; set; }
- public WatermarkContentViewModel(IRegionManager regionManager, IEventAggregator eventAggregator)
- {
- this.eventAggregator = eventAggregator;
- this.watermarkRegion = regionManager;
- WatermarkSettingsVisible = Visibility.Visible;
- WatermarkSettingsRegionName = Guid.NewGuid().ToString();
- WatermarkDocumentRegionName = Guid.NewGuid().ToString();
- CloseEditToolCommand = new DelegateCommand(CloseEditTool);
- ConfirmEditToolCommand = new DelegateCommand(ConfirmEditTool);
- EnterSelectedContentCommand = new DelegateCommand<string>(EnterSelectedContent);
- eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Subscribe(EnterTemplateListOrCreate);
- eventAggregator.GetEvent<SetCurrentCreateModEvent>().Subscribe(SetCurrentCreateMod);
- }
- public void CloseEditTool()
- {
- this.eventAggregator.GetEvent<CloseEditToolEvent>().Publish();
- }
- public void ConfirmEditTool()
- {
- this.eventAggregator.GetEvent<ConfirmEditToolsWatermarkEvent>().Publish(CurrentCreateMod);
- }
- public void EnterTemplateListOrCreate(EnumTemplateListOrCreate enumTemplateListOrCreate)
- {
- if (enumTemplateListOrCreate == EnumTemplateListOrCreate.StatusTemplate)
- {
- EnterSelectedContent(TemplateListName);
- }
- else
- {
- EnterSelectedContent(CreateName);
- }
- }
- public void SetCurrentCreateMod(string currentCreateModName)
- {
- if (currentCreateModName == CreateModTextName)
- {
- CurrentCreateMod = EnumTextOrFile.StatusText;
- }
- else if (currentCreateModName == CreateModFileName)
- {
- CurrentCreateMod = EnumTextOrFile.StatusFile;
- }
- }
- public void EnterSelectedContent(string SelectedContentName)
- {
- watermarkRegion.RequestNavigate(WatermarkSettingsRegionName, SelectedContentName);
- WatermarkSettingsVisible = Visibility.Visible;
- }
- public void EnterDocumentContent()
- {
- watermarkRegion.RequestNavigate(WatermarkDocumentRegionName, WatermarkDocumentName);
- WatermarkDocumentVisible = Visibility.Visible;
- }
- public void OnNavigatedTo(NavigationContext navigationContext)
- {
- EnterSelectedContent(TemplateListName);
- EnterDocumentContent();
- }
- public bool IsNavigationTarget(NavigationContext navigationContext)
- {
- return true;
- }
- public void OnNavigatedFrom(NavigationContext navigationContext)
- {
- }
- }
- }
|