WatermarkCreateBaseContentViewModel.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using PDF_Office.EventAggregators;
  2. using Prism.Commands;
  3. using Prism.Events;
  4. using Prism.Mvvm;
  5. using Prism.Regions;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Windows.Controls;
  10. namespace PDF_Office.ViewModels.EditTools.Watermark
  11. {
  12. public class WatermarkCreateBaseContentViewModel : BindableBase, INavigationAware
  13. {
  14. IEventAggregator eventAggregator;
  15. IRegionManager watermarkCreateRegion;
  16. private string watermarkCreateRegionName;
  17. public string WatermarkCreateRegionName
  18. {
  19. get => watermarkCreateRegionName;
  20. set => SetProperty(ref watermarkCreateRegionName, value);
  21. }
  22. private string _currentCreateName;
  23. public string CurrentCreateName
  24. {
  25. get => _currentCreateName;
  26. set => _currentCreateName = value;
  27. }
  28. private string _currentCreateModName;
  29. public string CurrentCreateModName
  30. {
  31. get => _currentCreateModName;
  32. set => _currentCreateModName = value;
  33. }
  34. private System.Windows.Visibility watermarkCreateVisible;
  35. public System.Windows.Visibility WatermarkCreateVisible
  36. {
  37. get => watermarkCreateVisible;
  38. set => SetProperty(ref watermarkCreateVisible, value);
  39. }
  40. public DelegateCommand<object> ChangeCreateModCommand { get; set; }
  41. public DelegateCommand EnterTemplateListCommand { get; set; }
  42. public WatermarkCreateBaseContentViewModel(IRegionManager regionManager, IEventAggregator eventAggregator)
  43. {
  44. this.eventAggregator = eventAggregator;
  45. this.watermarkCreateRegion = regionManager;
  46. WatermarkCreateRegionName = Guid.NewGuid().ToString();
  47. ChangeCreateModCommand = new DelegateCommand<object>(ChangeCreateMod);
  48. EnterTemplateListCommand = new DelegateCommand(EnterTemplateList);
  49. }
  50. public void EnterTemplateList()
  51. {
  52. this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
  53. }
  54. public void EnterSelectedCreateMod(string currentCreateName)
  55. {
  56. watermarkCreateRegion.RequestNavigate(WatermarkCreateRegionName, currentCreateName);
  57. watermarkCreateVisible = System.Windows.Visibility.Visible;
  58. }
  59. public void ChangeCreateMod(object e)
  60. {
  61. var args = e as Button;
  62. if (args != null)
  63. {
  64. CurrentCreateName = args.Name;
  65. EnterSelectedCreateMod(CurrentCreateName);
  66. eventAggregator.GetEvent<SetCurrentCreateModEvent>().Publish(CurrentCreateName);
  67. }
  68. }
  69. public bool IsNavigationTarget(NavigationContext navigationContext)
  70. {
  71. return true;
  72. }
  73. public void OnNavigatedFrom(NavigationContext navigationContext)
  74. {
  75. }
  76. public void OnNavigatedTo(NavigationContext navigationContext)
  77. {
  78. }
  79. }
  80. }