WatermarkTemplateListBaseContentViewModel.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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 WatermarkTemplateListBaseContentViewModel : BindableBase, INavigationAware
  13. {
  14. public IRegionManager watermarkTemplateListRegion;
  15. private readonly IEventAggregator eventAggregator;
  16. private string _currentTemplateListName;
  17. public string CurrentTemplateListName
  18. {
  19. get { return _currentTemplateListName; }
  20. set { _currentTemplateListName = value; }
  21. }
  22. private string watermarkTemplateListRegionName;
  23. public string WatermarkTemplateListRegionName
  24. {
  25. get => watermarkTemplateListRegionName;
  26. set => SetProperty(ref watermarkTemplateListRegionName, value);
  27. }
  28. private System.Windows.Visibility watermarkTemplateListVisible;
  29. public System.Windows.Visibility WatermarkTemplateListVisible
  30. {
  31. get => watermarkTemplateListVisible;
  32. set => SetProperty(ref watermarkTemplateListVisible, value);
  33. }
  34. public DelegateCommand<object> ChangeTemplateListModCommand { get; set; }
  35. public DelegateCommand EnterCreateCommand { get; set; }
  36. public WatermarkTemplateListBaseContentViewModel(IRegionManager watermarkTemplateListRegion, IEventAggregator eventAggregator)
  37. {
  38. this.watermarkTemplateListRegion = watermarkTemplateListRegion;
  39. this.eventAggregator = eventAggregator;
  40. WatermarkTemplateListRegionName = Guid.NewGuid().ToString();
  41. ChangeTemplateListModCommand = new DelegateCommand<object>(ChangeTemplateListMod);
  42. EnterCreateCommand = new DelegateCommand(EnterCreate);
  43. EnterSelectedTemplateListMod("WatermarkTemplateListColorContent");
  44. }
  45. public void EnterCreate()
  46. {
  47. this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusCreate);
  48. }
  49. public void EnterSelectedTemplateListMod(string currentTemplateListName)
  50. {
  51. watermarkTemplateListRegion.RequestNavigate(WatermarkTemplateListRegionName, currentTemplateListName);
  52. watermarkTemplateListVisible = System.Windows.Visibility.Visible;
  53. }
  54. public void ChangeTemplateListMod(object e)
  55. {
  56. var args = e as Button;
  57. if (args != null)
  58. {
  59. CurrentTemplateListName = args.Name;
  60. EnterSelectedTemplateListMod(CurrentTemplateListName);
  61. }
  62. }
  63. public bool IsNavigationTarget(NavigationContext navigationContext)
  64. {
  65. return true;
  66. }
  67. public void OnNavigatedFrom(NavigationContext navigationContext)
  68. {
  69. }
  70. public void OnNavigatedTo(NavigationContext navigationContext)
  71. {
  72. }
  73. }
  74. }