فهرست منبع

水印-模板

liyijie 2 سال پیش
والد
کامیت
8f01428356

+ 13 - 0
PDF Office/EventAggregators/EditToolsEvent.cs

@@ -110,11 +110,24 @@ namespace PDF_Office.EventAggregators
     {
     }
 
+    public class EditWatermarkTemplateItemEvent : PubSubEvent<WatermarkInfo>
+    {
+    }
+
     public class ConfirmEditBackgroundTemplateItemEvent : PubSubEvent<EnumColorOrFile>
     {
     }
 
+    public class ConfirmEditWatermarkTemplateItemEvent : PubSubEvent<EnumTextOrFile>
+    {
+    }
+
     public class SaveEditedBackgroundTemplateItemEvent : PubSubEvent<BackgroundItem>
     {
     }
+
+    public class SaveEditedWatermarkTemplateItemEvent : PubSubEvent<WatermarkItem>
+    {
+
+    }
 }

+ 16 - 3
PDF Office/ViewModels/EditTools/Watermark/WatermarkContentViewModel.cs

@@ -2,6 +2,8 @@
 using PDF_Office.CustomControl;
 using PDF_Office.EventAggregators;
 using PDF_Office.Model;
+using PDF_Office.Model.EditTools.Background;
+using PDF_Office.Model.EditTools.Watermark;
 using Prism.Commands;
 using Prism.Events;
 using Prism.Mvvm;
@@ -25,7 +27,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         private ViewContentViewModel viewContentViewModel;
 
         public string TemplateListName = "WatermarkTemplateListBaseContent";
-        public string CreateName = "WatermarkCreateBaseContent";
+        public string CreateBaseName = "WatermarkCreateBaseContent";
         public string CreateModTextName = "WatermarkCreateTextContent";
         public string CreateModFileName = "WatermarkCreateFileContent";
 
@@ -105,6 +107,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             eventAggregator.GetEvent<SetCurrentCreateModEvent>().Subscribe(SetCurrentCreateMod);
             eventAggregator.GetEvent<SetCurrentTemplateListModEvent>().Subscribe(SetCurrentTemplateListMod);
             eventAggregator.GetEvent<CurrentWatermarkPDFViewerEvent>().Subscribe(CurrentWatermarkPDFViewer);
+            eventAggregator.GetEvent<EditWatermarkTemplateItemEvent>().Subscribe(EditWatermarkTemplateItem);
 
         }
         public void CurrentWatermarkPDFViewer(CPDFViewer cPDFViewer)
@@ -132,10 +135,20 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             }
             else
             {
-                EnterSelectedContent(CreateName);
+                EnterSelectedContent(CreateBaseName);
             }
         }
 
+        public void EditWatermarkTemplateItem(WatermarkInfo watermarkInfo)
+        {
+            NavigationParameters param = new NavigationParameters();
+            param.Add(ParameterNames.PDFViewer, PDFViewer);
+            param.Add("CurrentTemplateListModName", CurrentTemplateListMod);
+            param.Add("WatermarkInfo", watermarkInfo);
+            watermarkRegion.RequestNavigate(WatermarkSettingsRegionName, CreateBaseName, param);
+            WatermarkSettingsVisible = Visibility.Visible;
+        }
+
         public void SetCurrentCreateMod(string currentCreateModName)
         {
             if (currentCreateModName == CreateModTextName)
@@ -168,7 +181,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 param.Add("CurrentCreateModName", CurrentCreateMod);
             }
-            else if (SelectedContentName == CreateName)
+            else if (SelectedContentName == CreateBaseName)
             {
                 param.Add("CurrentTemplateListModName", CurrentTemplateListMod);
             }

+ 59 - 3
PDF Office/ViewModels/EditTools/Watermark/WatermarkCreateBaseContentViewModel.cs

@@ -1,6 +1,8 @@
 using ComPDFKitViewer.PdfViewer;
 using PDF_Office.EventAggregators;
 using PDF_Office.Model;
+using PDF_Office.Model.EditTools.Background;
+using PDF_Office.Model.EditTools.Watermark;
 using Prism.Commands;
 using Prism.Events;
 using Prism.Mvvm;
@@ -8,6 +10,7 @@ using Prism.Regions;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Windows;
 using System.Windows.Controls;
 
 namespace PDF_Office.ViewModels.EditTools.Watermark
@@ -19,6 +22,8 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
 
         private CPDFViewer PDFViewer;
 
+        public WatermarkInfo WatermarkInfo;
+
         public EnumTextOrFile CurrentTemplateListMod;
 
         private string watermarkCreateRegionName;
@@ -43,20 +48,35 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             set => _currentCreateModName = value;
         }
 
-
-        private System.Windows.Visibility watermarkCreateVisible;
-        public System.Windows.Visibility WatermarkCreateVisible
+        private Visibility watermarkCreateVisible;
+        public Visibility WatermarkCreateVisible
         {
             get => watermarkCreateVisible;
             set => SetProperty(ref watermarkCreateVisible, value);
         }
 
+        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 DelegateCommand<object> ChangeCreateModCommand { get; set; }
 
         public DelegateCommand EnterTemplateListCommand { get; set; }
 
         public DelegateCommand SaveToTemplateListCommand { get; set; }
 
+        public DelegateCommand SaveToCurrentTemplateListCommand { get; set; }
+
         public WatermarkCreateBaseContentViewModel(IRegionManager regionManager, IEventAggregator eventAggregator)
         {
             this.eventAggregator = eventAggregator;
@@ -65,6 +85,9 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             ChangeCreateModCommand = new DelegateCommand<object>(ChangeCreateMod);
             EnterTemplateListCommand = new DelegateCommand(EnterTemplateList);
             SaveToTemplateListCommand = new DelegateCommand(SaveToTemplateList);
+
+            SaveToCurrentTemplateListCommand = new DelegateCommand(SaveToCurrentTemplateList);
+
         }
 
         public void SaveToTemplateList()
@@ -79,6 +102,18 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             }
         }
 
+        public void SaveToCurrentTemplateList()
+        {
+            if (CurrentCreateModName == "WatermarkCreateTextContent")
+            {
+                eventAggregator.GetEvent<ConfirmEditWatermarkTemplateItemEvent>().Publish(EnumTextOrFile.StatusText);
+            }
+            if (CurrentCreateModName == "WatermarkCreateFileContent")
+            {
+                eventAggregator.GetEvent<ConfirmEditWatermarkTemplateItemEvent>().Publish(EnumTextOrFile.StatusFile);
+            }
+        }
+
         public void EnterTemplateList()
         {
             this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
@@ -92,6 +127,15 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             watermarkCreateVisible = System.Windows.Visibility.Visible;
         }
 
+        public void EditSelectedTemplateItem(string currentCreateName)
+        {
+            NavigationParameters param = new NavigationParameters();
+            param.Add(ParameterNames.PDFViewer, PDFViewer);
+            param.Add("WatermarkInfo", WatermarkInfo);
+            watermarkCreateRegion.RequestNavigate(WatermarkCreateRegionName, currentCreateName, param);
+            watermarkCreateVisible = System.Windows.Visibility.Visible;
+        }
+
         public void ChangeCreateMod(object e)
         {
             var args = e as Button;
@@ -124,6 +168,18 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             {
                 CurrentCreateModName = "WatermarkCreateFileContent";
             }
+            if (navigationContext.Parameters.TryGetValue<WatermarkInfo>("WatermarkInfo", out WatermarkInfo))
+            {
+                EditSelectedTemplateItem(CurrentCreateModName);
+                EditBaseVisible = Visibility.Visible;
+                CreateBaseVisible = Visibility.Collapsed;
+            }
+            else
+            {
+                EnterSelectedCreateMod(CurrentCreateModName);
+                CreateBaseVisible = Visibility.Visible;
+                EditBaseVisible = Visibility.Collapsed;
+            }
             EnterSelectedCreateMod(CurrentCreateModName);
             eventAggregator.GetEvent<SetCurrentCreateModEvent>().Publish(CurrentCreateModName);
         }

+ 26 - 0
PDF Office/ViewModels/EditTools/Watermark/WatermarkCreateFileContentViewModel.cs

@@ -29,6 +29,8 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
     {
         public WatermarkInfo WatermarkInfo = new WatermarkInfo();
 
+        private WatermarkInfo TemplateWatermarkInfo;
+
         private CPDFViewer PDFViewer;
 
         IEventAggregator eventAggregator;
@@ -278,6 +280,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             InitWatermarkInfo();
             InitLocationButtonMatrix();
             eventAggregator.GetEvent<SaveWatermarkTemplateEvent>().Subscribe(SaveWatermarkTemplate);
+            eventAggregator.GetEvent<ConfirmEditWatermarkTemplateItemEvent>().Subscribe(ConfirmEditWatermarkTemplateItem);
         }
 
         public void SaveWatermarkTemplate(EnumTextOrFile enumTextOrFile)
@@ -393,6 +396,25 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
 
         }
 
+        public void ConfirmEditWatermarkTemplateItem(EnumTextOrFile enumTextOrFile)
+        {
+            if (enumTextOrFile == EnumTextOrFile.StatusFile)
+            {
+                var watermarkItem = new WatermarkItem();
+                ConvertInfoToItem(ref watermarkItem, WatermarkInfo);
+                this.eventAggregator.GetEvent<SaveEditedWatermarkTemplateItemEvent>().Publish(watermarkItem);
+                this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
+            }
+        }
+
+        /// <summary>
+        /// 根据已知Info初始化
+        /// </summary>
+        public void InitComponentBySelectedInfo()
+        {
+
+        }
+
         public void OpenFile()
         {
             System.Windows.Forms.OpenFileDialog dlg = new System.Windows.Forms.OpenFileDialog();
@@ -445,6 +467,10 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         {
             navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
             EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
+            if (navigationContext.Parameters.TryGetValue<WatermarkInfo>("WatermarkInfo", out TemplateWatermarkInfo))
+            {
+                InitComponentBySelectedInfo();
+            }
         }
     }
 }

+ 25 - 0
PDF Office/ViewModels/EditTools/Watermark/WatermarkCreateTextContentViewModel.cs

@@ -26,6 +26,8 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
     {
         public WatermarkInfo WatermarkInfo = new WatermarkInfo();
 
+        private WatermarkInfo TemplateWatermarkInfo;
+
         IEventAggregator eventAggregator;
 
         private CPDFViewer PDFViewer;
@@ -371,6 +373,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             InitWatermarkInfo();
             InitLocationButtonMatrix();
             eventAggregator.GetEvent<SaveWatermarkTemplateEvent>().Subscribe(SaveWatermarkTemplate);
+            eventAggregator.GetEvent<ConfirmEditWatermarkTemplateItemEvent>().Subscribe(ConfirmEditWatermarkTemplateItem);
         }
 
         public void SaveWatermarkTemplate(EnumTextOrFile enumTextOrFile)
@@ -535,6 +538,24 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             StringColor = Color.FromArgb(0xFF, 0xFF, 0x00, 0x00);
         }
 
+        /// <summary>
+        /// 根据已知Info初始化
+        /// </summary>
+        public void InitComponentBySelectedInfo()
+        {
+
+        }
+
+        public void ConfirmEditWatermarkTemplateItem(EnumTextOrFile enumTextOrFile)
+        {
+            if (enumTextOrFile == EnumTextOrFile.StatusText)
+            {
+                var watermarkItem = new WatermarkItem();
+                ConvertInfoToItem(ref watermarkItem, WatermarkInfo);
+                this.eventAggregator.GetEvent<SaveEditedWatermarkTemplateItemEvent>().Publish(watermarkItem);
+                this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
+            }
+        }
 
         public bool IsNavigationTarget(NavigationContext navigationContext)
         {
@@ -549,6 +570,10 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         {
             navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
             EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
+            if (navigationContext.Parameters.TryGetValue<WatermarkInfo>("WatermarkInfo", out TemplateWatermarkInfo))
+            {
+                InitComponentBySelectedInfo();
+            }
 
         }
     }

+ 0 - 13
PDF Office/ViewModels/EditTools/Watermark/WatermarkDocumentContentViewModel.cs

@@ -50,25 +50,12 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         {
             this.regionManager = regionManager;
             this.eventAggregator = eventAggregator;
-            unicode = App.mainWindowViewModel.SelectedItem.Unicode;
             eventAggregator.GetEvent<SetWatermarkEvent>().Subscribe(SetWatermark);
             ViewerRegionName = RegionNames.WatermarkViwerRegionName;
-            eventAggregator.GetEvent<PageEditRefreshEvent>().Subscribe(OnPageEditRefreshEvent, e => e.Unicode == unicode);
             eventAggregator.GetEvent<ConfirmEditToolsWatermarkEvent>().Subscribe(ConfirmEditToolsWatermark);
             eventAggregator.GetEvent<DeleteWatermarkEvent>().Subscribe(DeleteWatermark);
 
         }
-        /// <summary>
-        /// 响应UI发送刷新图片的事件
-        /// </summary>
-        /// <param name="e"></param>
-        private void OnPageEditRefreshEvent(PageEditRefreshEventArgs e)
-        {
-            //UI发送事件过来通知刷新图片时
-            //调整逻辑,前后预加载5页
-           
-        }
-
 
         public void ConfirmEditToolsWatermark()
         {

+ 1 - 1
PDF Office/ViewModels/EditTools/Watermark/WatermarkTemplateListBaseContentViewModel.cs

@@ -66,7 +66,6 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         }
         public void CurrentWatermarkPDFViewer(CPDFViewer cPDFViewer) {
             CurrentPDFViewer = cPDFViewer;
-
         }
         public void EnterCreate()
         {
@@ -91,6 +90,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             NavigationParameters param = new NavigationParameters();
             param.Add(ParameterNames.PDFViewer, CurrentPDFViewer);
             watermarkTemplateListRegion.RequestNavigate(WatermarkTemplateListRegionName, currentTemplateListName, param);
+            eventAggregator.GetEvent<CurrentWatermarkPDFViewerEvent>().Publish(CurrentPDFViewer);
             watermarkTemplateListVisible = System.Windows.Visibility.Visible;
         }
 

+ 35 - 2
PDF Office/ViewModels/EditTools/Watermark/WatermarkTemplateListFileContentViewModel.cs

@@ -31,6 +31,10 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         private CPDFViewer CurrentPDFViewer;
 
         public WatermarkInfo WatermarkInfo = new WatermarkInfo();
+
+        public WatermarkItem WatermarkItem = new WatermarkItem();
+
+        public int TemplateIndex = 0;
         public ObservableCollection<WatermarkItem> watermarkModFileCollection = new ObservableCollection<WatermarkItem>();
         public ObservableCollection<WatermarkItem> WatermarkModFileCollection
         {
@@ -51,6 +55,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
 
         public DelegateCommand AddTemplateCommand { get; set; }
         public DelegateCommand<object> DeleteTemplateItemCommand { get; set; }
+        public DelegateCommand<object> EditTemplateItemCommand { get; set; }
         public DelegateCommand DeleteAllTemplateItemCommand { get; set; }
         public DelegateCommand<object> SelectTemplateItemCommand { get; set; }
 
@@ -59,9 +64,12 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             this.eventAggregator = eventAggregator;
             AddTemplateCommand = new DelegateCommand(AddTemplate);
             DeleteTemplateItemCommand = new DelegateCommand<object>(DeleteTemplateItem);
+            EditTemplateItemCommand = new DelegateCommand<object>(RequestEditTemplateItem);
             DeleteAllTemplateItemCommand = new DelegateCommand(DeleteAllTemplateItem);
             SelectTemplateItemCommand = new DelegateCommand<object>(SelectTemplateItem);
+
             eventAggregator.GetEvent<CurrentWatermarkPDFViewerEvent>().Subscribe(CurrentWatermarkPDFViewer);
+            eventAggregator.GetEvent<SaveEditedWatermarkTemplateItemEvent>().Subscribe(SaveEditedWatermarkTemplateItem);
 
         }
         public void CurrentWatermarkPDFViewer(CPDFViewer cPDFViewer)
@@ -115,7 +123,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
 
         public void DeleteTemplateItem(object e)
         {
-            var btn = e as System.Windows.Controls.Button;
+            var btn = e as System.Windows.Controls.Control;
             if (btn == null)
             {
                 return;
@@ -146,7 +154,32 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
                 WatermarkModFileCollection.Remove(template);
             }
             GetWatermarkSource();
-        }  
+        }
+
+        public void SaveEditedWatermarkTemplateItem(WatermarkItem watermarkItem)
+        {
+            Settings.Default.WatermarkTemplateList[TemplateIndex] = watermarkItem;
+            Settings.Default.Save();
+            GetWatermarkSource();
+        }
+
+
+        public void RequestEditTemplateItem(object e)
+        {
+            var control = e as Control;
+            if (control == null)
+            {
+                return;
+            }
+            var template = control.DataContext as WatermarkItem;
+            if (template == null)
+            {
+                return;
+            }
+            TemplateIndex = Settings.Default.WatermarkTemplateList.IndexOf(template);
+            ConvertItemToInfo(template, ref WatermarkInfo);
+            this.eventAggregator.GetEvent<EditWatermarkTemplateItemEvent>().Publish(WatermarkInfo);
+        }
 
         public void SelectTemplateItem(object e)
         {

+ 34 - 1
PDF Office/ViewModels/EditTools/Watermark/WatermarkTemplateListTextContentViewModel.cs

@@ -16,6 +16,7 @@ using ComPDFKitViewer.PdfViewer;
 using PDF_Office.CustomControl;
 using PDF_Office.Model;
 using PDF_Office.Helper;
+using PDF_Office.Model.EditTools.Background;
 
 namespace PDF_Office.ViewModels.EditTools.Watermark
 {
@@ -26,6 +27,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         private CPDFViewer CurrentPDFViewer;
 
         public WatermarkInfo WatermarkInfo = new WatermarkInfo();
+
+        public WatermarkItem WatermarkItem = new WatermarkItem();
+
+        public int TemplateIndex = 0;
+
         public ObservableCollection<WatermarkItem> watermarkModTextCollection = new ObservableCollection<WatermarkItem>();
         public ObservableCollection<WatermarkItem> WatermarkModTextCollection
         {
@@ -46,6 +52,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
 
         public DelegateCommand AddTemplateCommand { get; set; }
         public DelegateCommand<object> DeleteTemplateItemCommand { get; set; }
+        public DelegateCommand<object> EditTemplateItemCommand { get; set; }
         public DelegateCommand DeleteAllTemplateItemCommand { get; set; }
         public DelegateCommand<object> SelectTemplateItemCommand { get; set; }
 
@@ -55,8 +62,10 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             AddTemplateCommand = new DelegateCommand(AddTemplate);
             DeleteTemplateItemCommand = new DelegateCommand<object>(DeleteTemplateItem);
             DeleteAllTemplateItemCommand = new DelegateCommand(DeleteAllTemplateItem);
+            EditTemplateItemCommand = new DelegateCommand<object>(RequestEditTemplateItem);
             SelectTemplateItemCommand = new DelegateCommand<object>(SelectTemplateItem);
             eventAggregator.GetEvent<CurrentWatermarkPDFViewerEvent>().Subscribe(CurrentWatermarkPDFViewer);
+            eventAggregator.GetEvent<SaveEditedWatermarkTemplateItemEvent>().Subscribe(SaveEditedWatermarkTemplateItem);
 
         }
         public void CurrentWatermarkPDFViewer(CPDFViewer cPDFViewer)
@@ -111,7 +120,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
 
         public void DeleteTemplateItem(object e)
         {
-            var btn = e as System.Windows.Controls.Button;
+            var btn = e as System.Windows.Controls.Control;
             if (btn == null)
             {
                 return;
@@ -144,6 +153,23 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             GetWatermarkSource();
         }
 
+        public void RequestEditTemplateItem(object e)
+        {
+            var control = e as Control;
+            if (control == null)
+            {
+                return;
+            }
+            var template = control.DataContext as WatermarkItem;
+            if (template == null)
+            {
+                return;
+            }
+            TemplateIndex = Settings.Default.WatermarkTemplateList.IndexOf(template);
+            ConvertItemToInfo(template, ref WatermarkInfo);
+            this.eventAggregator.GetEvent<EditWatermarkTemplateItemEvent>().Publish(WatermarkInfo);
+        }
+
         public void SelectTemplateItem(object e)
         {
             AlertsMessage alertsMessage = new AlertsMessage();
@@ -164,6 +190,13 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             SendTemplateItemToDocument(WatermarkItem);
         }
 
+        public void SaveEditedWatermarkTemplateItem(WatermarkItem watermarkItem)
+        {
+            Settings.Default.WatermarkTemplateList[TemplateIndex] = watermarkItem;
+            Settings.Default.Save();
+            GetWatermarkSource();
+        }
+
         public void ConvertItemToInfo(WatermarkItem watermarkItem, ref WatermarkInfo watermarkInfo)
         {
             if (watermarkItem != null)

+ 27 - 13
PDF Office/Views/EditTools/Watermark/WatermarkCreateBaseContent.xaml

@@ -14,19 +14,33 @@
             <RowDefinition Height="48"></RowDefinition>
             <RowDefinition></RowDefinition>
         </Grid.RowDefinitions>
-        <Grid Grid.Row="0">
-            <Button  Height="24" Width="90" HorizontalAlignment="Left" Margin="16,0,0,0" Command="{Binding EnterTemplateListCommand}">
-                <StackPanel Orientation="Horizontal">
-                    <TextBlock Text="&lt;" FontSize="16"></TextBlock>
-                    <TextBlock Text="创建水印" Margin="8,0,0,0" FontSize="16"></TextBlock>
-                </StackPanel>
-            </Button>
-            <Button  Height="20" Width="64" Margin="0,0,16,0" HorizontalAlignment="Right" Command="{Binding SaveToTemplateListCommand}">
-                <StackPanel>
-                    <TextBlock Text="保存至模板" FontSize="12" Foreground="#18A0FB"></TextBlock>
-                    <Rectangle Height="2" Fill="#18A0FB"></Rectangle>
-                </StackPanel>
-            </Button>
+        <Grid Grid.Row="0" Visibility="{Binding CreateBaseVisible, Mode=TwoWay}">
+            <Button  Height="24" Width="90" HorizontalAlignment="Left" Margin="16,0,0,0"  Command="{Binding EnterTemplateListCommand}">
+                <StackPanel Orientation="Horizontal">
+                    <TextBlock Text="&lt;" Margin="0,0,9,0" FontSize="16"></TextBlock>
+                    <TextBlock Text="创建水印" FontSize="16"></TextBlock>
+                </StackPanel>
+            </Button>
+            <Button  Height="20" Width="64" Margin="0,0,16,0" HorizontalAlignment="Right" Command="{Binding SaveToTemplateListCommand}">
+                <StackPanel>
+                    <TextBlock Text="保存至模板"  Foreground="#18A0FB"></TextBlock>
+                    <Rectangle Height="1" Fill="#18A0FB"></Rectangle>
+                </StackPanel>
+            </Button>
+        </Grid>
+        <Grid Grid.Row="0" Visibility="{Binding EditBaseVisible, Mode=TwoWay}">
+            <Button  Height="24" Width="90" HorizontalAlignment="Left" Margin="16,0,0,0"  Command="{Binding EnterTemplateListCommand}">
+                <StackPanel Orientation="Horizontal">
+                    <TextBlock Text="&lt;" Margin="0,0,9,0" FontSize="16"></TextBlock>
+                    <TextBlock Text="编辑模板" FontSize="16"></TextBlock>
+                </StackPanel>
+            </Button>
+            <Button  Height="20" Width="64" Margin="0,0,16,0" HorizontalAlignment="Right" Command="{Binding SaveToCurrentTemplateListCommand}">
+                <StackPanel>
+                    <TextBlock Text="保存"  Foreground="#18A0FB"></TextBlock>
+                    <Rectangle Height="1" Fill="#18A0FB"></Rectangle>
+                </StackPanel>
+            </Button>
         </Grid>
         <Grid Grid.Row="1" Margin="16,0,16,0">
             <Grid.ColumnDefinitions>

+ 6 - 4
PDF Office/Views/EditTools/Watermark/WatermarkTemplateListFileContent.xaml

@@ -43,9 +43,11 @@
                  SelectionChanged="ListBox_SelectionChanged">
             <ListBox.ItemContainerStyle>
                 <Style TargetType="ListBoxItem">
-                    <Setter Property="Margin" Value="0"/>
-                    <Setter Property="Padding" Value="8 0 8 0"/>
-                    <!--<Setter Property="ContextMenu" Value="{StaticResource FlyoutMenu}"/>-->
+                    <Setter Property="Margin" Value="20"/>
+                    <Setter Property="Padding" Value="0 0 0 0"/>
+                    <Setter Property="Height" Value="160"/>
+                    <Setter Property="Width" Value="128"/>
+                    <Setter Property="ContextMenu" Value="{StaticResource FlyoutMenu}"/>
                     <Setter Property="Template" Value="{DynamicResource EditToolsItemControlTemplate}"/>
                 </Style>
             </ListBox.ItemContainerStyle>
@@ -55,7 +57,7 @@
                         <Grid Height="160" Width=" 128" Background="Blue">
                             <Label  Height="160" Width=" 128"></Label>
                             <Label  Height="160" Width=" 128"></Label>
-                            <Button Name="EditTemplateBtn" Height="43" Width="63" HorizontalAlignment="Left" VerticalAlignment="Bottom"></Button>
+                            <Button Name="EditTemplateBtn" Height="43" Width="63" HorizontalAlignment="Left" VerticalAlignment="Bottom" Click="EditTemplateBtn_Click"></Button>
                             <Button Name="DeleteTemplateBtn"  Height="43" Width="63" HorizontalAlignment="Right" VerticalAlignment="Bottom" Click="DeleteTemplateBtn_Click" >
                             </Button>
                         </Grid>

+ 5 - 0
PDF Office/Views/EditTools/Watermark/WatermarkTemplateListFileContent.xaml.cs

@@ -42,5 +42,10 @@ namespace PDF_Office.Views.EditTools.Watermark
         {
             viewModel.DeleteAllTemplateItemCommand?.Execute();
         }
+
+        private void EditTemplateBtn_Click(object sender, RoutedEventArgs e)
+        {
+            viewModel.EditTemplateItemCommand?.Execute(sender);
+        }
     }
 }

+ 6 - 4
PDF Office/Views/EditTools/Watermark/WatermarkTemplateListTextContent.xaml

@@ -43,9 +43,11 @@
                  SelectionChanged="ListBox_SelectionChanged">
             <ListBox.ItemContainerStyle>
                 <Style TargetType="ListBoxItem">
-                    <Setter Property="Margin" Value="0"/>
-                    <Setter Property="Padding" Value="8 0 8 0"/>
-                    <!--<Setter Property="ContextMenu" Value="{StaticResource FlyoutMenu}"/>-->
+                    <Setter Property="Margin" Value="20"/>
+                    <Setter Property="Padding" Value="0 0 0 0"/>
+                    <Setter Property="Height" Value="160"/>
+                    <Setter Property="Width" Value="128"/>
+                    <Setter Property="ContextMenu" Value="{StaticResource FlyoutMenu}"/>
                     <Setter Property="Template" Value="{DynamicResource EditToolsItemControlTemplate}"/>
                 </Style>
             </ListBox.ItemContainerStyle>
@@ -55,7 +57,7 @@
                         <Grid Height="160" Width=" 128" Background="Blue">
                             <Label  Height="160" Width=" 128"></Label>
                             <Label  Height="160" Width=" 128"></Label>
-                            <Button Name="EditTemplateBtn" Height="43" Width="63" HorizontalAlignment="Left" VerticalAlignment="Bottom"></Button>
+                            <Button Name="EditTemplateBtn" Height="43" Width="63" HorizontalAlignment="Left" VerticalAlignment="Bottom" Click="EditTemplateBtn_Click"></Button>
                             <Button Name="DeleteTemplateBtn"  Height="43" Width="63" HorizontalAlignment="Right" VerticalAlignment="Bottom" Click="DeleteTemplateBtn_Click" >
                             </Button>
                         </Grid>

+ 6 - 1
PDF Office/Views/EditTools/Watermark/WatermarkTemplateListTextContent.xaml.cs

@@ -30,7 +30,7 @@ namespace PDF_Office.Views.EditTools.Watermark
 
         private void MenuEdit_Click(object sender, RoutedEventArgs e)
         {
-
+            viewModel.EditTemplateItemCommand?.Execute(sender);
         }
 
         private void MenuDeleteCurrent_Click(object sender, RoutedEventArgs e)
@@ -43,5 +43,10 @@ namespace PDF_Office.Views.EditTools.Watermark
         {
             viewModel.DeleteAllTemplateItemCommand?.Execute();
         }
+
+        private void EditTemplateBtn_Click(object sender, RoutedEventArgs e)
+        {
+            viewModel.EditTemplateItemCommand?.Execute(sender);
+        }
     }
 }