using PDF_Office.EventAggregators; 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 backgroundRegion; public string TemplateListName = "WatermarkTemplateListBaseContent"; public string CreateName = "WatermarkCreateBaseContent"; 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; } } public DelegateCommand CloseEditToolCommand { get; set; } public DelegateCommand EnterSelectedContentCommand { get; set; } public WatermarkContentViewModel(IRegionManager regionManager, IEventAggregator eventAggregator) { this.eventAggregator = eventAggregator; this.backgroundRegion = regionManager; WatermarkSettingsVisible = Visibility.Visible; WatermarkSettingsRegionName = Guid.NewGuid().ToString(); CloseEditToolCommand = new DelegateCommand(CloseEditTool); EnterSelectedContentCommand = new DelegateCommand(EnterSelectedContent); eventAggregator.GetEvent().Subscribe(EnterTemplateListOrCreate); } public void CloseEditTool() { this.eventAggregator.GetEvent().Publish(); } public void EnterTemplateListOrCreate(EnumTemplateListOrCreate enumTemplateListOrCreate) { if (enumTemplateListOrCreate == EnumTemplateListOrCreate.StatusTemplate) { EnterSelectedContent(TemplateListName); } else { EnterSelectedContent(CreateName); } } public void EnterSelectedContent(string SelectedContentName) { backgroundRegion.RequestNavigate(WatermarkSettingsRegionName, SelectedContentName); WatermarkSettingsVisible = Visibility.Visible; } public void OnNavigatedTo(NavigationContext navigationContext) { EnterSelectedContent(TemplateListName); } public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { } } }