소스 검색

背景-模板类型转换

liuaoran 2 년 전
부모
커밋
91063a997a
17개의 변경된 파일166개의 추가작업 그리고 70개의 파일을 삭제
  1. 1 4
      PDF Office/EventAggregators/EditToolsEvent.cs
  2. 3 2
      PDF Office/ViewModels/EditTools/Background/BackgroundContentViewModel.cs
  3. 49 16
      PDF Office/ViewModels/EditTools/Background/BackgroundCreateBaseContentViewModel.cs
  4. 24 8
      PDF Office/ViewModels/EditTools/Background/BackgroundCreateColorContentViewModel.cs
  5. 17 3
      PDF Office/ViewModels/EditTools/Background/BackgroundCreateFileContentViewModel.cs
  6. 4 2
      PDF Office/ViewModels/EditTools/Background/BackgroundDocumentContentViewModel.cs
  7. 25 21
      PDF Office/ViewModels/EditTools/Background/BackgroundTemplateListColorContentViewModel.cs
  8. 20 3
      PDF Office/ViewModels/EditTools/Background/BackgroundTemplateListFileContentViewModel.cs
  9. 1 0
      PDF Office/ViewModels/EditTools/Watermark/WatermarkContentViewModel.cs
  10. 1 0
      PDF Office/ViewModels/EditTools/Watermark/WatermarkDocumentContentViewModel.cs
  11. 1 0
      PDF Office/ViewModels/EditTools/Watermark/WatermarkTemplateListFileContentViewModel.cs
  12. 3 1
      PDF Office/Views/EditTools/Background/BackgroundTemplateListColorContent.xaml.cs
  13. 8 6
      PDF Office/Views/EditTools/Background/BackgroundTemplateListFileContent.xaml
  14. 2 0
      PDF Office/Views/EditTools/Background/BackgroundTemplateListFileContent.xaml.cs
  15. 1 1
      PDF Office/Views/EditTools/Watermark/WatermarkTemplateListFileContent.xaml.cs
  16. 3 3
      PDF Office/Views/EditTools/Watermark/WatermarkTemplateListTextContent.xaml
  17. 3 0
      PDFSettings/BackgroundTemplateList.cs

+ 1 - 4
PDF Office/EventAggregators/EditToolsEvent.cs

@@ -63,9 +63,6 @@ namespace PDF_Office.EventAggregators
     {
     }
 
-    public class SaveBackgroundToTemplateListEvent : PubSubEvent<BackgroundInfo>
-    {
-    }
 
     public class ConfirmEditToolsBackgroundEvent : PubSubEvent
     {
@@ -106,7 +103,7 @@ namespace PDF_Office.EventAggregators
     public class CurrentWatermarkPDFViewerEvent : PubSubEvent<CPDFViewer>
     {
     }
-    public class EditBackgroundTemplateItemEvent : PubSubEvent<BackgroundInfo>
+    public class EditBackgroundTemplateItemEvent : PubSubEvent<BackgroundItem>
     {
     }
 

+ 3 - 2
PDF Office/ViewModels/EditTools/Background/BackgroundContentViewModel.cs

@@ -13,6 +13,7 @@ using Dropbox.Api.FileProperties;
 using ComPDFKitViewer.PdfViewer;
 using PDF_Office.Model;
 using PDF_Office.Model.EditTools.Background;
+using PDFSettings;
 
 namespace PDF_Office.ViewModels.EditTools.Background
 {
@@ -151,12 +152,12 @@ namespace PDF_Office.ViewModels.EditTools.Background
             }
         }
 
-        public void EditBackgroundTemplateItem(BackgroundInfo backgroundInfo)
+        public void EditBackgroundTemplateItem(BackgroundItem backgroundItem)
         {
             NavigationParameters param = new NavigationParameters();
             param.Add(ParameterNames.PDFViewer, PDFViewer);
             param.Add("CurrentTemplateListModName", CurrentTemplateListMod);
-            param.Add("BackgroundInfo", backgroundInfo);
+            param.Add("BackgroundItem", backgroundItem);
             backgroundRegion.RequestNavigate(BackgroundSettingsRegionName, CreateBaseName, param);
             BackgroundSettingsVisible = Visibility.Visible;
         }

+ 49 - 16
PDF Office/ViewModels/EditTools/Background/BackgroundCreateBaseContentViewModel.cs

@@ -3,6 +3,7 @@ using PDF_Office.EventAggregators;
 using PDF_Office.Model;
 using PDF_Office.Model.EditTools.Background;
 using PDF_Office.Views.EditTools.Background;
+using PDFSettings;
 using Prism.Commands;
 using Prism.Common;
 using Prism.Events;
@@ -24,7 +25,34 @@ namespace PDF_Office.ViewModels.EditTools.Background
         IRegionManager backgroundCreateRegion;
 
         private CPDFViewer PDFViewer;
-        public BackgroundInfo BackgroundInfo;
+        public BackgroundItem BackgroundItem;
+
+        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 string backgroundCreateRegionName;
 
@@ -60,7 +88,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
         public Visibility CreateBaseVisible
         {
             get => _createBaseVisible;
-            set=>SetProperty(ref _createBaseVisible, value);
+            set => SetProperty(ref _createBaseVisible, value);
         }
 
         private Visibility _editBaseVisible;
@@ -84,10 +112,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
             ChangeCreateModCommand = new DelegateCommand<object>(ChangeCreateMod);
             EnterTemplateListCommand = new DelegateCommand(EnterTemplateList);
             SaveToTemplateListCommand = new DelegateCommand(SaveToTemplateList);
-            SaveToCurrentTemplateListCommand = new DelegateCommand(SaveToCurrentTemplateList);
-
-            
-
+            SaveToCurrentTemplateListCommand = new DelegateCommand(SaveToCurrentTemplateList); 
         }
 
         public void SaveToTemplateList()
@@ -125,14 +150,15 @@ namespace PDF_Office.ViewModels.EditTools.Background
             param.Add(ParameterNames.PDFViewer, PDFViewer);
             backgroundCreateRegion.RequestNavigate(BackgroundCreateRegionName, currentCreateName, param);
             backgroundCreateVisible = System.Windows.Visibility.Visible;
-
         }
 
+
+
         public void EditSelectedTemplateItem(string currentCreateName)
         {
             NavigationParameters param = new NavigationParameters();
             param.Add(ParameterNames.PDFViewer, PDFViewer);
-            param.Add("BackgroundInfo", BackgroundInfo);
+            param.Add("BackgroundItem", BackgroundItem);
             backgroundCreateRegion.RequestNavigate(BackgroundCreateRegionName, currentCreateName, param);
             backgroundCreateVisible = System.Windows.Visibility.Visible;
         }
@@ -142,9 +168,18 @@ namespace PDF_Office.ViewModels.EditTools.Background
             var args = e as Button;
             if (args != null)
             {
-                CurrentCreateModName = args.Name;
-                EnterSelectedCreateMod(CurrentCreateModName);
-                eventAggregator.GetEvent<SetCurrentCreateModEvent>().Publish(CurrentCreateModName);
+                if(CreateOrEdit == EnumCreateOrEdit.StatusCreate)
+                {
+                    CurrentCreateModName = args.Name;
+                    EnterSelectedCreateMod(CurrentCreateModName);
+                    eventAggregator.GetEvent<SetCurrentCreateModEvent>().Publish(CurrentCreateModName);
+                }
+                else if (CreateOrEdit == EnumCreateOrEdit.StatusEdit)
+                {
+                    CurrentCreateModName = args.Name;
+                    EditSelectedTemplateItem(CurrentCreateModName);
+                    eventAggregator.GetEvent<SetCurrentCreateModEvent>().Publish(CurrentCreateModName);
+                }
             }
         }
 
@@ -169,17 +204,15 @@ namespace PDF_Office.ViewModels.EditTools.Background
             {
                 CurrentCreateModName = "BackgroundCreateFileContent";
             }
-            if(navigationContext.Parameters.TryGetValue<BackgroundInfo>("BackgroundInfo", out BackgroundInfo))
+            if (navigationContext.Parameters.TryGetValue<BackgroundItem>("BackgroundItem", out BackgroundItem))
             {
                 EditSelectedTemplateItem(CurrentCreateModName);
-                EditBaseVisible = Visibility.Visible;
-                CreateBaseVisible= Visibility.Collapsed;
+                CreateOrEdit = EnumCreateOrEdit.StatusEdit;
             }
             else
             {
                 EnterSelectedCreateMod(CurrentCreateModName);
-                CreateBaseVisible= Visibility.Visible;
-                EditBaseVisible= Visibility.Collapsed;
+                CreateOrEdit= EnumCreateOrEdit.StatusCreate;
             }
             eventAggregator.GetEvent<SetCurrentCreateModEvent>().Publish(CurrentCreateModName);
         }

+ 24 - 8
PDF Office/ViewModels/EditTools/Background/BackgroundCreateColorContentViewModel.cs

@@ -33,7 +33,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
         private string RedColorBtn = "RedColorBtn";
         private string GreenColorBtn = "GreenColorBtn";
 
-        private BackgroundInfo TemplateBackgroundInfo;
+        private BackgroundItem TemplateBackgroundItem;
 
         private List<string> _rotationList = new List<string>();
         public List<string> RotationList
@@ -119,9 +119,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
                 BackgroundInfo.HorizOffset = float.Parse(HorizontalOffsetValue);
                 eventAggregator.GetEvent<SetBackgroundEvent>().Publish(BackgroundInfo);
             }
-        }
-
-
+        } 
 
         private ObservableDictionary<string, bool> _getLocationFromNumber = new ObservableDictionary<string, bool>();
         public ObservableDictionary<string, bool> GetLocationFromNumber
@@ -177,7 +175,6 @@ namespace PDF_Office.ViewModels.EditTools.Background
 
         public DelegateCommand<object> ChangeLocationCommand { get; set; }
         public DelegateCommand<object> ChangeColorCommand { get; set; }
-        public DelegateCommand<object> SelectedColorCommand { get; set; }
 
         public BackgroundCreateColorContentViewModel(IEventAggregator eventAggregator)
         {
@@ -294,12 +291,30 @@ namespace PDF_Office.ViewModels.EditTools.Background
             this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
         }
 
+        public void ConvertItemToInfo(BackgroundItem backgroundItem, ref BackgroundInfo backgroundInfo)
+        {
+            if(backgroundItem != null)
+            {
+                backgroundInfo.BackgroundType = backgroundItem.type;
+                backgroundInfo.Color = backgroundItem.bgColor;
+                backgroundInfo.Horizalign = backgroundItem.horizalign;
+                backgroundInfo.Vertalign = backgroundItem.vertalign;
+                backgroundInfo.VertOffset = backgroundItem.vertOffset;
+                backgroundInfo.Horizalign = backgroundItem.horizalign;
+                backgroundInfo.Opacity = backgroundItem.opacity;
+                backgroundInfo.Rotation = backgroundItem.rotation;
+                backgroundInfo.Scale = backgroundItem.scale;
+            }
+            //  backgroundItem.pagRangeMode = backgroundInfo.PageRange;
+        }
+
         /// <summary>
         /// 根据已知Info初始化
         /// </summary>
         public void InitComponentBySelectedInfo()
         {
-            
+            ConvertItemToInfo(TemplateBackgroundItem, ref BackgroundInfo);
+            //TODO
         }
 
         public void ConfirmEditBackgroundTemplateItem(EnumColorOrFile enumColorOrFile)
@@ -308,7 +323,8 @@ namespace PDF_Office.ViewModels.EditTools.Background
             {
                 var backgroundItem = new BackgroundItem();
                 ConvertInfoToItem(ref backgroundItem, BackgroundInfo);
-                this.eventAggregator.GetEvent<SaveEditedBackgroundTemplateItemEvent>().Publish(backgroundItem);
+                Settings.Default.BackgroundTemplateList[TemplateBackgroundItem.listIndex] = backgroundItem;
+                Settings.Default.Save();
                 this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
             }
         }
@@ -333,7 +349,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
         public void OnNavigatedTo(NavigationContext navigationContext)
         {
             navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
-            if(navigationContext.Parameters.TryGetValue<BackgroundInfo>("BackgroundInfo", out TemplateBackgroundInfo))
+            if(navigationContext.Parameters.TryGetValue<BackgroundItem>("BackgroundItem", out TemplateBackgroundItem))
             {
                 InitComponentBySelectedInfo();
             }

+ 17 - 3
PDF Office/ViewModels/EditTools/Background/BackgroundCreateFileContentViewModel.cs

@@ -26,7 +26,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
     {
         IEventAggregator eventAggregator;
 
-        private BackgroundInfo TemplateBackgroundInfo;
+        private BackgroundItem TemplateBackgroundItem;
 
         public BackgroundInfo BackgroundInfo = new BackgroundInfo();
         private CPDFViewer PDFViewer;
@@ -162,6 +162,8 @@ namespace PDF_Office.ViewModels.EditTools.Background
             InitLocationButtonMatrix();
             OpenFileCommand = new DelegateCommand(OpenFile);
             eventAggregator.GetEvent<SaveBackgroundTemplateEvent>().Subscribe(SaveBackgroundTemplate);
+            eventAggregator.GetEvent<ConfirmEditBackgroundTemplateItemEvent>().Subscribe(ConfirmEditBackgroundTemplateItem);
+
 
         }
 
@@ -297,7 +299,6 @@ namespace PDF_Office.ViewModels.EditTools.Background
             backgroundItem.opacity = backgroundInfo.Opacity;
             backgroundItem.rotation = backgroundInfo.Rotation;
             backgroundItem.scale = backgroundInfo.Scale;
-            backgroundItem.pageRange = backgroundInfo.PageRange;
             //  backgroundItem.pagRangeMode = backgroundInfo.PageRange;
         }
 
@@ -311,6 +312,19 @@ namespace PDF_Office.ViewModels.EditTools.Background
             this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
         }
 
+        public void ConfirmEditBackgroundTemplateItem(EnumColorOrFile enumColorOrFile)
+        {
+            if (enumColorOrFile == EnumColorOrFile.StatusFile)
+            {
+                var backgroundItem = new BackgroundItem();
+                ConvertInfoToItem(ref backgroundItem, BackgroundInfo);
+                Settings.Default.BackgroundTemplateList[TemplateBackgroundItem.listIndex] = backgroundItem;
+                Settings.Default.Save();
+                this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusTemplate);
+            }
+        }
+
+
         public void SaveBackgroundTemplate(EnumColorOrFile enumColorOrFile)
         {
             if (enumColorOrFile == EnumColorOrFile.StatusFile)
@@ -330,7 +344,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
         public void OnNavigatedTo(NavigationContext navigationContext)
         {
             navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
-            if (navigationContext.Parameters.TryGetValue<BackgroundInfo>("BackgroundInfo", out TemplateBackgroundInfo))
+            if (navigationContext.Parameters.TryGetValue<BackgroundItem>("BackgroundItem", out TemplateBackgroundItem))
             {
                 InitComponentBySelectedInfo();
             }

+ 4 - 2
PDF Office/ViewModels/EditTools/Background/BackgroundDocumentContentViewModel.cs

@@ -65,6 +65,8 @@ namespace PDF_Office.ViewModels.EditTools.Background
             this.backgroundInfo = backgroundInfo;
             CreateBackground(PDFViewer.Document);
             PDFViewer.InvalidChildVisual(false);
+            PDFViewer.Document.ReleasePages();
+            PDFViewer.ReloadDocument();
         }
 
         public void CreateBackground(CPDFDocument document, bool IsNewDoc = false)
@@ -117,7 +119,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
                         { //TODO
                             if (PageIndexLists.Contains(drawPageData.PageIndex - 1))
                             {
-                                WriteableBitmap backgroundBitmap = GetWaterMark(PDFViewer.Document, e.Zoom, drawPageData.PageIndex);
+                                WriteableBitmap backgroundBitmap = GetBackground(PDFViewer.Document, e.Zoom, drawPageData.PageIndex);
                                 e.DrawContext.DrawImage(backgroundBitmap, drawPageData.PageBound);
                             }
                         }
@@ -126,7 +128,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
             }
         }
 
-        private WriteableBitmap GetWaterMark(CPDFDocument oldDoc, double zoom, int pageIndex)
+        private WriteableBitmap GetBackground(CPDFDocument oldDoc, double zoom, int pageIndex)
         {
             Size pageSize = oldDoc.GetPageSize(pageIndex);
 

+ 25 - 21
PDF Office/ViewModels/EditTools/Background/BackgroundTemplateListColorContentViewModel.cs

@@ -85,7 +85,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
             }
             BackgroundModColorCollection = new ObservableCollection<BackgroundItem>(backgroundModColorTemplateList);
             CheckTemplateListIsEmpty(backgroundModColorTemplateList);
-        } 
+        }
 
         private void InitBackgroundTemplateList()
         {
@@ -103,8 +103,11 @@ namespace PDF_Office.ViewModels.EditTools.Background
 
         public void SaveEditedBackgroundTemplateItem(BackgroundItem backgroundItem)
         {
-            Settings.Default.BackgroundTemplateList[TemplateIndex] = backgroundItem;
-            Settings.Default.Save();
+            if (backgroundItem.type == ComPDFKit.PDFDocument.C_Background_Type.BG_TYPE_COLOR)
+            {
+                Settings.Default.BackgroundTemplateList[TemplateIndex] = backgroundItem;
+                Settings.Default.Save();
+            }
             GetBackgroundSource();
         }
 
@@ -122,20 +125,21 @@ namespace PDF_Office.ViewModels.EditTools.Background
                 return;
             }
             TemplateIndex = Settings.Default.BackgroundTemplateList.IndexOf(template);
+            template.listIndex = TemplateIndex;
             ConvertItemToInfo(template, ref BackgroundInfo);
-            this.eventAggregator.GetEvent<EditBackgroundTemplateItemEvent>().Publish(BackgroundInfo);
+            this.eventAggregator.GetEvent<EditBackgroundTemplateItemEvent>().Publish(template);
         }
 
 
         public void DeleteTemplateItem(object e)
         {
             var btn = e as System.Windows.Controls.Button;
-            if(btn == null)
+            if (btn == null)
             {
                 return;
             }
             BackgroundItem = btn.DataContext as BackgroundItem;
-            if(BackgroundItem == null)
+            if (BackgroundItem == null)
             {
                 return;
             }
@@ -168,26 +172,26 @@ namespace PDF_Office.ViewModels.EditTools.Background
 
         public void ConvertItemToInfo(BackgroundItem backgroundItem, ref BackgroundInfo backgroundInfo)
         {
-                 backgroundInfo.BackgroundType=backgroundItem.type;
-                 backgroundInfo.Color = backgroundItem.bgColor ;
-                backgroundInfo.Horizalign = backgroundItem.horizalign;
-                backgroundInfo.Vertalign = backgroundItem.vertalign;
-                backgroundInfo.VertOffset = backgroundItem.vertOffset;
-                backgroundInfo.Horizalign = backgroundItem.horizalign;
-                backgroundInfo.Opacity = backgroundItem.opacity;
-                backgroundInfo.Rotation = backgroundItem.rotation;
-                 backgroundInfo.Scale =  backgroundItem.scale ;
-                backgroundInfo.PageRange = backgroundItem.pageRange;
-                //  backgroundItem.pagRangeMode = backgroundInfo.PageRange;
-       
+            backgroundInfo.BackgroundType = backgroundItem.type;
+            backgroundInfo.Color = backgroundItem.bgColor;
+            backgroundInfo.Horizalign = backgroundItem.horizalign;
+            backgroundInfo.Vertalign = backgroundItem.vertalign;
+            backgroundInfo.VertOffset = backgroundItem.vertOffset;
+            backgroundInfo.Horizalign = backgroundItem.horizalign;
+            backgroundInfo.Opacity = backgroundItem.opacity;
+            backgroundInfo.Rotation = backgroundItem.rotation;
+            backgroundInfo.Scale = backgroundItem.scale;
+            backgroundInfo.PageRange = backgroundItem.pageRange;
+            //  backgroundItem.pagRangeMode = backgroundInfo.PageRange;
+
         }
 
         public void SendTemplateItemToDocument(BackgroundItem template)
         {
-            if(template != null)
+            if (template != null)
             {
-            ConvertItemToInfo(template, ref BackgroundInfo);
-            eventAggregator.GetEvent<SetBackgroundEvent>().Publish(BackgroundInfo);
+                ConvertItemToInfo(template, ref BackgroundInfo);
+                eventAggregator.GetEvent<SetBackgroundEvent>().Publish(BackgroundInfo);
             }
 
         }

+ 20 - 3
PDF Office/ViewModels/EditTools/Background/BackgroundTemplateListFileContentViewModel.cs

@@ -22,6 +22,8 @@ namespace PDF_Office.ViewModels.EditTools.Background
     {
         private readonly IEventAggregator eventAggregator;
         public BackgroundInfo BackgroundInfo = new BackgroundInfo();
+        public BackgroundItem BackgroundItem = new BackgroundItem();
+        public int TemplateIndex = 0;
 
         public ObservableCollection<BackgroundItem> backgroundModFileCollection = new ObservableCollection<BackgroundItem>();
         public ObservableCollection<BackgroundItem> BackgroundModFileCollection
@@ -51,10 +53,13 @@ namespace PDF_Office.ViewModels.EditTools.Background
         {
             this.eventAggregator = eventAggregator;
             AddTemplateCommand = new DelegateCommand(AddTemplate);
-            EditTemplateItemCommand = new DelegateCommand<object>(EditTemplateItem);
+            EditTemplateItemCommand = new DelegateCommand<object>(RequestEditTemplateItem);
             DeleteTemplateItemCommand = new DelegateCommand<object>(DeleteTemplateItem);
             DeleteAllTemplateItemCommand = new DelegateCommand(DeleteAllTemplateItem);
             SelectTemplateItemCommand = new DelegateCommand<object>(SelectTemplateItem);
+
+            eventAggregator.GetEvent<SaveEditedBackgroundTemplateItemEvent>().Subscribe(SaveEditedBackgroundTemplateItem);
+
         }
 
         private void CheckTemplateListIsEmpty(List<BackgroundItem> backgroundTemplateList)
@@ -99,7 +104,17 @@ namespace PDF_Office.ViewModels.EditTools.Background
             this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(EnumTemplateListOrCreate.StatusCreate);
         }
 
-        public void EditTemplateItem(object e)
+        public void SaveEditedBackgroundTemplateItem(BackgroundItem backgroundItem)
+        {
+            if (backgroundItem.type == ComPDFKit.PDFDocument.C_Background_Type.BG_TYPE_IMAGE)
+            {
+                Settings.Default.BackgroundTemplateList[TemplateIndex] = backgroundItem;
+                Settings.Default.Save();
+            }
+            GetBackgroundSource();
+
+        }
+        public void RequestEditTemplateItem(object e)
         {
             var control = e as Control;
             if (control == null)
@@ -111,8 +126,10 @@ namespace PDF_Office.ViewModels.EditTools.Background
             {
                 return;
             }
+            TemplateIndex = Settings.Default.BackgroundTemplateList.IndexOf(template);
+            template.listIndex = TemplateIndex;
             ConvertItemToInfo(template, ref BackgroundInfo);
-            this.eventAggregator.GetEvent<EditBackgroundTemplateItemEvent>().Publish(BackgroundInfo);
+            this.eventAggregator.GetEvent<EditBackgroundTemplateItemEvent>().Publish(BackgroundItem);
         }
 
         public void DeleteTemplateItem(object e)

+ 1 - 0
PDF Office/ViewModels/EditTools/Watermark/WatermarkContentViewModel.cs

@@ -103,6 +103,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             ConfirmEditToolCommand = new DelegateCommand(ConfirmEditTool);
             EnterSelectedContentCommand = new DelegateCommand<string>(EnterSelectedContent);
             DeleteWatermarkCommand = new DelegateCommand(DeleteWatermark);
+
             eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Subscribe(EnterTemplateListOrCreate);
             eventAggregator.GetEvent<SetCurrentCreateModEvent>().Subscribe(SetCurrentCreateMod);
             eventAggregator.GetEvent<SetCurrentTemplateListModEvent>().Subscribe(SetCurrentTemplateListMod);

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

@@ -96,6 +96,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             // PDFViewer.Document.PdfToImage("0-1", "C:\\Users\\kdanmobile\\Desktop\\888\\");
             viewContentViewModel.PDFViewer.Document.WriteToFilePath("C:\\Users\\kdanmobile\\Desktop\\888\\sb22222_.pdf");
             PDFViewer.InvalidChildVisual(false);
+          
         }
 
         public void CreateWatermark(CPDFDocument document, bool IsNewDoc = false)

+ 1 - 0
PDF Office/ViewModels/EditTools/Watermark/WatermarkTemplateListFileContentViewModel.cs

@@ -59,6 +59,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         public DelegateCommand DeleteAllTemplateItemCommand { get; set; }
         public DelegateCommand<object> SelectTemplateItemCommand { get; set; }
 
+
         public WatermarkTemplateListFileContentViewModel(IEventAggregator eventAggregator)
         {
             this.eventAggregator = eventAggregator;

+ 3 - 1
PDF Office/Views/EditTools/Background/BackgroundTemplateListColorContent.xaml.cs

@@ -26,12 +26,14 @@ namespace PDF_Office.Views.EditTools.Background
 
         private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
         {
+            var listBox = sender as ListBox;
             viewModel.SelectTemplateItemCommand?.Execute(sender);
+            listBox.SelectedIndex = -1;
         }
 
         private void MenuEdit_Click(object sender, RoutedEventArgs e)
         {
-
+            viewModel.EditTemplateItemCommand?.Execute(sender);
         }
 
         private void MenuDeleteCurrent_Click(object sender, RoutedEventArgs e)

+ 8 - 6
PDF Office/Views/EditTools/Background/BackgroundTemplateListFileContent.xaml

@@ -54,12 +54,14 @@
             <ListBox.ItemTemplate>
                 <DataTemplate DataType="{x:Type data:BackgroundItem}">
                     <StackPanel Name="itemPanel">
-                        <Grid Height="160" Width=" 128" Background="LightBlue">
-                            <Label  Height="160" Width=" 128"></Label>
-                            <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>
+                        <Border BorderThickness="1" BorderBrush="#A0A2AE">
+                            <Grid Height="160" Width=" 128" >
+                                <Label  Height="160" Width=" 128"></Label>
+                                <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>
+                        </Border>
                     </StackPanel>
                     <DataTemplate.Triggers>
                         <Trigger Property="IsMouseOver" Value="True">

+ 2 - 0
PDF Office/Views/EditTools/Background/BackgroundTemplateListFileContent.xaml.cs

@@ -25,7 +25,9 @@ namespace PDF_Office.Views.EditTools.Background
 
         private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
         {
+            var listBox = sender as ListBox;
             viewModel.SelectTemplateItemCommand?.Execute(sender);
+            listBox.SelectedIndex = -1;
         }
 
         private void MenuEdit_Click(object sender, RoutedEventArgs e)

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

@@ -29,7 +29,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)

+ 3 - 3
PDF Office/Views/EditTools/Watermark/WatermarkTemplateListTextContent.xaml

@@ -43,9 +43,9 @@
                  SelectionChanged="ListBox_SelectionChanged">
             <ListBox.ItemContainerStyle>
                 <Style TargetType="ListBoxItem">
-                    <Setter Property="Margin" Value="20"/>
-                    <Setter Property="Padding" Value="0 0 0 0"/>
-                    <Setter Property="Height" Value="160"/>
+                    <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}"/>

+ 3 - 0
PDFSettings/BackgroundTemplateList.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Runtime.CompilerServices;
 using System.Text;
 using System.Threading.Tasks;
 
@@ -24,6 +25,8 @@ namespace PDFSettings
         /// </summary>
         public ComPDFKit.PDFDocument.C_Background_Type type = ComPDFKit.PDFDocument.C_Background_Type.BG_TYPE_COLOR;
 
+        public int listIndex = 0;
+
         /// <summary>
         /// 背景颜色
         /// </summary>