123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- using ComPDFKitViewer.PdfViewer;
- using PDF_Office.EventAggregators;
- using PDF_Office.Model;
- using PDF_Office.Views.EditTools.Background;
- using Prism.Commands;
- using Prism.Events;
- 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.Controls;
- namespace PDF_Office.ViewModels.EditTools.Background
- {
- public class BackgroundCreateBaseContentViewModel : BindableBase, INavigationAware
- {
- IEventAggregator eventAggregator;
- IRegionManager backgroundCreateRegion;
- private CPDFViewer PDFViewer;
- private string backgroundCreateRegionName;
- public string BackgroundCreateRegionName
- {
- get => backgroundCreateRegionName;
- set => SetProperty(ref backgroundCreateRegionName, value);
- }
- private string _currentCreateModName;
- public string CurrentCreateModName
- {
- get => _currentCreateModName;
- set => _currentCreateModName = value;
- }
- private System.Windows.Visibility backgroundCreateVisible;
- public System.Windows.Visibility BackgroundCreateVisible
- {
- get => backgroundCreateVisible;
- set => SetProperty(ref backgroundCreateVisible, value);
- }
- private bool isFirstEnter = true;
- public bool IsFirstEnter
- {
- get => isFirstEnter;
- set => isFirstEnter = value;
- }
- public EnumColorOrFile CurrentTemplateListMod;
- public DelegateCommand<object> ChangeCreateModCommand { get; set; }
- public DelegateCommand EnterTemplateListCommand { get; set; }
- public DelegateCommand SaveToTemplateListCommand { get; set; }
- public BackgroundCreateBaseContentViewModel(IRegionManager regionManager, IEventAggregator eventAggregator)
- {
- this.eventAggregator = eventAggregator;
- this.backgroundCreateRegion = regionManager;
- BackgroundCreateRegionName = Guid.NewGuid().ToString();
- ChangeCreateModCommand = new DelegateCommand<object>(ChangeCreateMod);
- EnterTemplateListCommand = new DelegateCommand(EnterTemplateList);
- SaveToTemplateListCommand = new DelegateCommand(SaveToTemplateList);
- }
- public void SaveToTemplateList()
- {
- if (CurrentCreateModName == "BackgroundCreateColorContent")
- {
- this.eventAggregator.GetEvent<SaveBackgroundTemplateEvent>().Publish(EnumColorOrFile.StatusColor);
- }
- if (CurrentCreateModName == "BackgroundCreateFileContent")
- {
- this.eventAggregator.GetEvent<SaveBackgroundTemplateEvent>().Publish(EnumColorOrFile.StatusFile);
- }
- }
- public void EnterTemplateList()
- {
- this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
- }
- public void EnterSelectedCreateMod(string currentCreateName)
- {
- NavigationParameters param = new NavigationParameters();
- param.Add(ParameterNames.PDFViewer, PDFViewer);
- backgroundCreateRegion.RequestNavigate(BackgroundCreateRegionName, currentCreateName, param);
- backgroundCreateVisible = System.Windows.Visibility.Visible;
- }
- public void ChangeCreateMod(object e)
- {
- var args = e as Button;
- if (args != null)
- {
- CurrentCreateModName = args.Name;
- EnterSelectedCreateMod(CurrentCreateModName);
- eventAggregator.GetEvent<SetCurrentCreateModEvent>().Publish(CurrentCreateModName);
- }
- }
- public bool IsNavigationTarget(NavigationContext navigationContext)
- {
- return true;
- }
- public void OnNavigatedFrom(NavigationContext navigationContext)
- {
- }
- public void OnNavigatedTo(NavigationContext navigationContext)
- {
- navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
- navigationContext.Parameters.TryGetValue<EnumColorOrFile>("CurrentTemplateListModName", out CurrentTemplateListMod);
- if (CurrentTemplateListMod == EnumColorOrFile.StatusColor)
- {
- CurrentCreateModName = "BackgroundCreateColorContent";
- }
- else
- {
- CurrentCreateModName = "BackgroundCreateFileContent";
- }
- EnterSelectedCreateMod(CurrentCreateModName);
- eventAggregator.GetEvent<SetCurrentCreateModEvent>().Publish(CurrentCreateModName);
- }
- }
- }
|