WatermarkContentViewModel.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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;
  10. namespace PDF_Office.ViewModels.EditTools.Watermark
  11. {
  12. public class WatermarkContentViewModel : BindableBase,INavigationAware
  13. {
  14. public IEventAggregator eventAggregator;
  15. public IRegionManager backgroundRegion;
  16. public string TemplateListName = "WatermarkTemplateListBaseContent";
  17. public string CreateName = "WatermarkCreateBaseContent";
  18. private string _watermarkSettingsRegionName;
  19. public string WatermarkSettingsRegionName
  20. {
  21. get { return _watermarkSettingsRegionName; }
  22. set { _watermarkSettingsRegionName = value; }
  23. }
  24. private Visibility _watermarkSettingsVisible = Visibility.Collapsed;
  25. public Visibility WatermarkSettingsVisible
  26. {
  27. get { return _watermarkSettingsVisible; }
  28. set { _watermarkSettingsVisible = value; }
  29. }
  30. public DelegateCommand CloseEditToolCommand { get; set; }
  31. public DelegateCommand<string> EnterSelectedContentCommand { get; set; }
  32. public WatermarkContentViewModel(IRegionManager regionManager, IEventAggregator eventAggregator)
  33. {
  34. this.eventAggregator = eventAggregator;
  35. this.backgroundRegion = regionManager;
  36. WatermarkSettingsVisible = Visibility.Visible;
  37. WatermarkSettingsRegionName = Guid.NewGuid().ToString();
  38. CloseEditToolCommand = new DelegateCommand(CloseEditTool);
  39. EnterSelectedContentCommand = new DelegateCommand<string>(EnterSelectedContent);
  40. eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Subscribe(EnterTemplateListOrCreate);
  41. }
  42. public void CloseEditTool()
  43. {
  44. this.eventAggregator.GetEvent<CloseEditToolEvent>().Publish();
  45. }
  46. public void EnterTemplateListOrCreate(EnumTemplateListOrCreate enumTemplateListOrCreate)
  47. {
  48. if (enumTemplateListOrCreate == EnumTemplateListOrCreate.StatusTemplate)
  49. {
  50. EnterSelectedContent(TemplateListName);
  51. }
  52. else
  53. {
  54. EnterSelectedContent(CreateName);
  55. }
  56. }
  57. public void EnterSelectedContent(string SelectedContentName)
  58. {
  59. backgroundRegion.RequestNavigate(WatermarkSettingsRegionName, SelectedContentName);
  60. WatermarkSettingsVisible = Visibility.Visible;
  61. }
  62. public void OnNavigatedTo(NavigationContext navigationContext)
  63. {
  64. EnterSelectedContent(TemplateListName);
  65. }
  66. public bool IsNavigationTarget(NavigationContext navigationContext)
  67. {
  68. return true;
  69. }
  70. public void OnNavigatedFrom(NavigationContext navigationContext)
  71. {
  72. }
  73. }
  74. }