using ComPDFKitViewer.PdfViewer; using PDF_Office.EventAggregators; using PDF_Office.Model; using Prism.Commands; using Prism.Events; using Prism.Mvvm; using Prism.Regions; using System; using System.Collections.Generic; using System.Linq; using System.Windows; using PDFSettings; namespace PDF_Office.ViewModels.EditTools.Bates { public class BatesCreateContentViewModel : BindableBase, INavigationAware { private CPDFViewer PDFViewer; public BatesHeaderFooterItem BatesItem; public enum EnumCreateOrEdit { None, StatusCreate, StatusEdit } private EnumCreateOrEdit _createOrEdit; public EnumCreateOrEdit CreateOrEdit { get { return _createOrEdit; } set { _createOrEdit = value; if (value == EnumCreateOrEdit.StatusEdit) { EditBaseVisible = Visibility.Visible; CreateBaseVisible = Visibility.Collapsed; } else if (value == EnumCreateOrEdit.StatusCreate) { CreateBaseVisible = Visibility.Visible; EditBaseVisible = Visibility.Collapsed; } } } private Visibility _createBaseVisible; public Visibility CreateBaseVisible { get => _createBaseVisible; set => SetProperty(ref _createBaseVisible, value); } private Visibility _editBaseVisible; public Visibility EditBaseVisible { get => _editBaseVisible; set => SetProperty(ref _editBaseVisible, value); } public IEventAggregator eventAggregator; public DelegateCommand EnterTemplateListCommand { get; set; } public DelegateCommand SaveToTemplateListCommand { get; set; } public DelegateCommand SaveToCurrentTemplateListCommand { get; set; } public string Unicode = null; public BatesCreateContentViewModel(IEventAggregator eventAggregator) { this.eventAggregator = eventAggregator; Unicode = App.mainWindowViewModel.SelectedItem.Unicode; } public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { } public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue(ParameterNames.PDFViewer, out PDFViewer); if (navigationContext.Parameters.TryGetValue("BatesItem", out BatesItem)) { CreateOrEdit = EnumCreateOrEdit.StatusEdit; } else { CreateOrEdit = EnumCreateOrEdit.StatusCreate; } } } }