liyijie hace 2 años
padre
commit
2de32542e4

+ 1 - 1
PDF Office/CustomControl/WritableComboBox.xaml

@@ -18,7 +18,7 @@
             MinHeight="32"
             VerticalContentAlignment="Center"
             SelectionChanged="writableComboBox_SelectionChanged"
-            SelectedIndex="0"
+            SelectedIndex="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:WritableComboBox}, Path=SelectedIndex}"
             Visibility="Visible">
             <ComboBoxItem Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:WritableComboBox}, Path=IsAllPageVisible}">全部页面</ComboBoxItem>
             <ComboBoxItem>奇数页</ComboBoxItem>

+ 1 - 1
PDF Office/CustomControl/WritableComboBox.xaml.cs

@@ -76,7 +76,7 @@ namespace PDF_Office.CustomControl
 
         // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
         public static readonly DependencyProperty SelectedIndexProperty =
-            DependencyProperty.Register("SelectedIndex", typeof(string), typeof(WritableComboBox), new PropertyMetadata(""));
+            DependencyProperty.Register("SelectedIndex", typeof(string), typeof(WritableComboBox), new PropertyMetadata("0"));
 
         public string Text
         {

+ 0 - 1
PDF Office/ViewModels/EditTools/Background/BackgroundContentViewModel.cs

@@ -128,7 +128,6 @@ namespace PDF_Office.ViewModels.EditTools.Background
         public void ConfirmEditTool()
         {
             this.eventAggregator.GetEvent<ConfirmEditToolsBackgroundEvent>().Publish();
-
             this.eventAggregator.GetEvent<CloseEditToolEvent>().Publish(new EnumCloseModeUnicode { Unicode=Unicode,Status= EnumCloseMode.StatusConfirm });
         }
 

+ 14 - 0
PDF Office/ViewModels/EditTools/Bates/BatesContentViewModel.cs

@@ -85,6 +85,7 @@ namespace PDF_Office.ViewModels.EditTools.Bates
             CloseEditToolCommand = new DelegateCommand(CloseEditTool);
             ConfirmEditToolCommand = new DelegateCommand(ConfirmEditTool);
             eventAggregator.GetEvent<EditBatesHeaderFooterTemplateItemEvent>().Subscribe(EditBatesTemplateItem, e => e.Unicode == Unicode&&e.Type== BatesType);
+            eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Subscribe(EnterTemplateListOrCreate, e => e.Unicode == Unicode);
 
         }
         public void CloseEditTool()
@@ -125,6 +126,19 @@ namespace PDF_Office.ViewModels.EditTools.Bates
             BatesDocumentVisible = Visibility.Visible;
         }
 
+        public void EnterTemplateListOrCreate(EnumTemplateListOrCreateUnicode enumTemplateListOrCreateunicode)
+        {
+            EnumTemplateListOrCreate enumTemplateListOrCreate = enumTemplateListOrCreateunicode.Status;
+            if (enumTemplateListOrCreate == EnumTemplateListOrCreate.StatusTemplate)
+            {
+                EnterSelectedContent(TemplateListName);
+            }
+            else
+            {
+                EnterSelectedContent(CreateName);
+            }
+        }
+
         public void OnNavigatedTo(NavigationContext navigationContext)
         {
             navigationContext.Parameters.TryGetValue<ViewContentViewModel>(ParameterNames.ViewContentViewModel, out viewContentViewModel);

+ 13 - 0
PDF Office/ViewModels/EditTools/HeaderFooter/HeaderFooterContentViewModel.cs

@@ -85,6 +85,7 @@ namespace PDF_Office.ViewModels.EditTools.HeaderFooter
             CloseEditToolCommand = new DelegateCommand(CloseEditTool);
             ConfirmEditToolCommand = new DelegateCommand(ConfirmEditTool);
             eventAggregator.GetEvent<EditBatesHeaderFooterTemplateItemEvent>().Subscribe(EditHeaderFooterTemplateItem, e => e.Unicode == Unicode&&e.Type== HeaderFooterType);
+            eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Subscribe(EnterTemplateListOrCreate, e => e.Unicode == Unicode);
         }
 
         public void CloseEditTool()
@@ -115,6 +116,18 @@ namespace PDF_Office.ViewModels.EditTools.HeaderFooter
             headerFooterRegion.RequestNavigate(HeaderFooterDocumentRegionName, HeaderFooterDocumentName, param);
             HeaderFooterDocumentVisible = Visibility.Visible;
         }
+        public void EnterTemplateListOrCreate(EnumTemplateListOrCreateUnicode enumTemplateListOrCreateunicode)
+        {
+            EnumTemplateListOrCreate enumTemplateListOrCreate = enumTemplateListOrCreateunicode.Status;
+            if (enumTemplateListOrCreate == EnumTemplateListOrCreate.StatusTemplate)
+            {
+                EnterSelectedContent(TemplateListName);
+            }
+            else
+            {
+                EnterSelectedContent(CreateName);
+            }
+        }
 
         public void EditHeaderFooterTemplateItem(BatesHeaderFooterItemUnicode headerfooterItemunicode)
         {

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

@@ -143,6 +143,39 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             }
         }
 
+
+        private string _rotationText = "0";
+        public string RotationText
+        {
+            get { return _rotationText; }
+            set
+            {
+                SetProperty(ref _rotationText, value);
+            }
+        }
+
+        private string _opacityText = "100 %";
+        public string OpacityText
+        {
+            get { return _opacityText; }
+            set
+            {
+                SetProperty(ref _opacityText, value);
+
+            }
+        }
+
+        private string _relativeScaleText = "50 %";
+        public string RelativeScaleText
+        {
+            get { return _relativeScaleText; }
+            set
+            {
+                SetProperty(ref _relativeScaleText, value);
+            }
+        }
+
+
         private int _relativeScaleValue = 50;
         public int RelativeScaleValue
         {
@@ -643,6 +676,18 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         public void InitComponentBySelectedInfo()
         {
             ConvertItemToInfo(TemplateWatermarkItem, ref WatermarkInfo);
+            VertOffsetValue = WatermarkInfo.VertOffset.ToString();
+            HorizOffsetValue = WatermarkInfo.HorizOffset.ToString();
+            VerticalSpacingValue = WatermarkInfo.VerticalSpacing.ToString();
+            HorizontalSpacingValue = WatermarkInfo.HorizontalSpacing.ToString();
+            PageRangeSelectIndex = WatermarkInfo.PageRangeIndex;
+            IsFrontSelectedIndex = Convert.ToInt32(!WatermarkInfo.IsFront);
+            RotationText = ((int)((WatermarkInfo.Rotation / Math.PI) * 180)).ToString();
+            OpacityText = ((((float)WatermarkInfo.Opacity) / 225) * 100).ToString() + " %";
+            RelativeScaleText = WatermarkInfo.TextSize.ToString() + " %";
+            InitLocationButtonMatrix();
+            CreateFileVisible=Visibility.Visible;
+
         }
 
         public void OpenFile()

+ 149 - 105
PDF Office/ViewModels/EditTools/Watermark/WatermarkCreateTextContentViewModel.cs

@@ -163,8 +163,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             get { return _textValue; }
             set
             {
-                _textValue = value;
-
+                SetProperty(ref _textValue, value);
 
             }
         }
@@ -211,6 +210,37 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             }
         }
 
+        private string _rotationText = "0";
+        public string RotationText
+        {
+            get { return _rotationText; }
+            set
+            {
+                SetProperty(ref _rotationText, value);
+            }
+        }
+
+        private string _opacityText = "100 %";
+        public string OpacityText
+        {
+            get { return _opacityText; }
+            set
+            {
+                SetProperty(ref _opacityText, value);
+
+            }
+        }
+
+        private string _relativeScaleText = "50 %";
+        public string RelativeScaleText
+        {
+            get { return _relativeScaleText; }
+            set
+            {
+                SetProperty(ref _relativeScaleText, value);
+            }
+        }
+
         private string _vertOffsetValue = "0";
         public string VertOffsetValue
         {
@@ -487,6 +517,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
                 watermarkInfo.HorizOffset = watermarkItem.horizOffset;
                 watermarkInfo.VerticalSpacing = watermarkItem.verticalSpacing;
                 watermarkInfo.HorizontalSpacing = watermarkItem.horizontalSpacing;
+                watermarkInfo.PageRangeIndex = watermarkItem.pageRangeIndex;
                 EditToolsHelper.GetPageRange(watermarkItem.pageRangeIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, watermarkItem.pageRange);
             }
 
@@ -626,7 +657,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
             }
             else
             {
-                WatermarkInfo.TextSize = (Index + 7)*1.33f;
+                WatermarkInfo.TextSize = (Index + 7) * 1.33f;
             }
         }
 
@@ -644,11 +675,11 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
 
         public void ConfirmEditToolsWatermark()
         {
-                eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
-                {
-                    Unicode = Unicode,
-                    Status = WatermarkInfo
-                });
+            eventAggregator.GetEvent<SetWatermarkEvent>().Publish(new WatermarkInfoUnicode
+            {
+                Unicode = Unicode,
+                Status = WatermarkInfo
+            });
         }
 
         private void InitList()
@@ -665,7 +696,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         {
 
             WatermarkInfo.Text = TextValue;
-            WatermarkInfo.Rotation = ((float)RotationValue / 180) * 3.1415926f;
+            WatermarkInfo.Rotation = (float)(((float)RotationValue / 180) * Math.PI);
             WatermarkInfo.Opacity = (byte)(((float)OpacityValue / 100) * 225);
             WatermarkInfo.VertOffset = float.Parse(VertOffsetValue);
             WatermarkInfo.HorizOffset = float.Parse(HorizOffsetValue);
@@ -686,126 +717,139 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
         public void InitComponentBySelectedInfo()
         {
             ConvertItemToInfo(TemplateWatermarkItem, ref WatermarkInfo);
-        }
+            TextValue = WatermarkInfo.Text;
+            VertOffsetValue = WatermarkInfo.VertOffset.ToString();
+            HorizOffsetValue = WatermarkInfo.HorizOffset.ToString();
+            VerticalSpacingValue = WatermarkInfo.VerticalSpacing.ToString();
+            HorizontalSpacingValue = WatermarkInfo.HorizontalSpacing.ToString();
+            PageRangeSelectIndex = WatermarkInfo.PageRangeIndex;
+            FontNameSelectedIndex = FontNameList.IndexOf(WatermarkInfo.FontName);
+            FontSizeSelectedIndex = FontSizeList.IndexOf(((int)(WatermarkInfo.TextSize / 1.33f)).ToString() + "pt");
+            IsFrontSelectedIndex = Convert.ToInt32(!WatermarkInfo.IsFront);
+            RotationText = ((int)((WatermarkInfo.Rotation/ Math.PI) *180)).ToString();
+            OpacityText = ((((float)WatermarkInfo.Opacity)/225)*100).ToString() + " %";
+            RelativeScaleText = WatermarkInfo.TextSize.ToString() + " %";
+            InitLocationButtonMatrix();
 
-        public void CreateWatermark(CPDFDocument document, WatermarkInfo watermarkInfo)
-        {
-            if (watermarkInfo != null)
+        }
+            public void CreateWatermark(CPDFDocument document, WatermarkInfo watermarkInfo)
             {
-                document.DeleteWatermarks();
-                CPDFWatermark watermark;
-                if (watermarkInfo.WatermarkType == C_Watermark_Type.WATERMARK_TYPE_TEXT)
+                if (watermarkInfo != null)
                 {
-                    watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
-                    watermark.SetText(watermarkInfo.Text);
-                    watermark.SetFontName(watermarkInfo.FontName);
-                    watermark.SetFontSize(watermarkInfo.TextSize);
-                    watermark.SetTextRGBColor(watermarkInfo.TextColor);
-                }
-                else
-                {
-                    watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_IMG);
-                    if (watermarkInfo.ImageArray != null)
+                    document.DeleteWatermarks();
+                    CPDFWatermark watermark;
+                    if (watermarkInfo.WatermarkType == C_Watermark_Type.WATERMARK_TYPE_TEXT)
+                    {
+                        watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
+                        watermark.SetText(watermarkInfo.Text);
+                        watermark.SetFontName(watermarkInfo.FontName);
+                        watermark.SetFontSize(watermarkInfo.TextSize);
+                        watermark.SetTextRGBColor(watermarkInfo.TextColor);
+                    }
+                    else
                     {
-                        watermark.SetImage(watermarkInfo.ImageArray, watermarkInfo.ImageWidth, watermarkInfo.ImageHeight);
+                        watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_IMG);
+                        if (watermarkInfo.ImageArray != null)
+                        {
+                            watermark.SetImage(watermarkInfo.ImageArray, watermarkInfo.ImageWidth, watermarkInfo.ImageHeight);
+                        }
+                        watermark.SetScale(0.1f);
                     }
-                    watermark.SetScale(0.1f);
+                    watermark.SetRotation(watermarkInfo.Rotation);
+                    watermark.SetOpacity(watermarkInfo.Opacity);
+                    watermark.SetFront(watermarkInfo.IsFront);
+                    watermark.SetVertalign(watermarkInfo.WatermarkVertalign);
+                    watermark.SetHorizalign(watermarkInfo.WatermarkHorizalign);
+                    watermark.SetFullScreen(watermarkInfo.Isfull);
+                    watermark.SetVertOffset(watermarkInfo.VertOffset);
+                    watermark.SetHorizOffset(watermarkInfo.HorizOffset);
+                    watermark.SetHorizontalSpacing(watermarkInfo.HorizontalSpacing);
+                    watermark.SetVerticalSpacing(watermarkInfo.VerticalSpacing);
+                    watermark.SetPages("0");
+                    Trace.WriteLine("IsCreateWatermark: " + watermark.CreateWatermark());
+                    Trace.WriteLine("IsUpdateWatermark: " + watermark.UpdateWatermark());
                 }
-                watermark.SetRotation(watermarkInfo.Rotation);
-                watermark.SetOpacity(watermarkInfo.Opacity);
-                watermark.SetFront(watermarkInfo.IsFront);
-                watermark.SetVertalign(watermarkInfo.WatermarkVertalign);
-                watermark.SetHorizalign(watermarkInfo.WatermarkHorizalign);
-                watermark.SetFullScreen(watermarkInfo.Isfull);
-                watermark.SetVertOffset(watermarkInfo.VertOffset);
-                watermark.SetHorizOffset(watermarkInfo.HorizOffset);
-                watermark.SetHorizontalSpacing(watermarkInfo.HorizontalSpacing);
-                watermark.SetVerticalSpacing(watermarkInfo.VerticalSpacing);
-                watermark.SetPages("0");
-                Trace.WriteLine("IsCreateWatermark: " + watermark.CreateWatermark());
-                Trace.WriteLine("IsUpdateWatermark: " + watermark.UpdateWatermark());
             }
-        }
 
-        public void ConfirmEditWatermarkTemplateItem(EnumTextOrFileUnicode enumTextOrFileunicode)
-        {
-            EnumTextOrFile enumTextOrFile = enumTextOrFileunicode.Status;
-            if (enumTextOrFile == EnumTextOrFile.StatusText)
+            public void ConfirmEditWatermarkTemplateItem(EnumTextOrFileUnicode enumTextOrFileunicode)
             {
-                var watermarkItem = new WatermarkItem();
-                ConvertInfoToItem(ref watermarkItem, WatermarkInfo);
-                try
+                EnumTextOrFile enumTextOrFile = enumTextOrFileunicode.Status;
+                if (enumTextOrFile == EnumTextOrFile.StatusText)
                 {
-                    //创建缓存文件夹
-                    string folderPath = Path.Combine(App.CurrentPath, "Watermark");
-                    //有可能因为其他原因存在同名文件,导致创建文件夹失败,需要先删除同名文件
-                    //保险措施(猜测)
-                    if (File.Exists(folderPath))
-                    {
-                        File.Delete(folderPath);
-                    }
-
-                    DirectoryInfo tempfolder = new DirectoryInfo(folderPath);
-                    if (!tempfolder.Exists)
+                    var watermarkItem = new WatermarkItem();
+                    ConvertInfoToItem(ref watermarkItem, WatermarkInfo);
+                    try
                     {
-                        tempfolder.Create();
-                    }
-
-                    //预览图缓存
-                    string saveName = Guid.NewGuid().ToString();
-                    string savePath = Path.Combine(folderPath, saveName);
-                    System.Windows.Size pageSize = new System.Windows.Size { Width = 128, Height = 160 };
-                    CPDFDocument tempDocument = CPDFDocument.CreateDocument();
-                    if (tempDocument != null)
-                    {
-                        tempDocument.InsertPage(0, pageSize.Width, pageSize.Height, null);
-                        CreateWatermark(tempDocument, WatermarkInfo);
+                        //创建缓存文件夹
+                        string folderPath = Path.Combine(App.CurrentPath, "Watermark");
+                        //有可能因为其他原因存在同名文件,导致创建文件夹失败,需要先删除同名文件
+                        //保险措施(猜测)
+                        if (File.Exists(folderPath))
+                        {
+                            File.Delete(folderPath);
+                        }
 
-                        //获取透明背景的图片
-                        var bitmap = ToolMethod.RenderPageBitmapNoWait(tempDocument, (int)pageSize.Width, (int)pageSize.Height, 0, false, false, 0x00FFFFFF);
-                        using (FileStream stream = new FileStream(savePath, FileMode.Create))
+                        DirectoryInfo tempfolder = new DirectoryInfo(folderPath);
+                        if (!tempfolder.Exists)
                         {
-                            bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
+                            tempfolder.Create();
                         }
 
-                        watermarkItem.previewImagePath = savePath;
-                        tempDocument.Release();
+                        //预览图缓存
+                        string saveName = Guid.NewGuid().ToString();
+                        string savePath = Path.Combine(folderPath, saveName);
+                        System.Windows.Size pageSize = new System.Windows.Size { Width = 128, Height = 160 };
+                        CPDFDocument tempDocument = CPDFDocument.CreateDocument();
+                        if (tempDocument != null)
+                        {
+                            tempDocument.InsertPage(0, pageSize.Width, pageSize.Height, null);
+                            CreateWatermark(tempDocument, WatermarkInfo);
 
-                        Settings.Default.WatermarkTemplateList[TemplateWatermarkItem.listIndex] = watermarkItem;
-                        Settings.Default.Save();
+                            //获取透明背景的图片
+                            var bitmap = ToolMethod.RenderPageBitmapNoWait(tempDocument, (int)pageSize.Width, (int)pageSize.Height, 0, false, false, 0x00FFFFFF);
+                            using (FileStream stream = new FileStream(savePath, FileMode.Create))
+                            {
+                                bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
+                            }
+
+                            watermarkItem.previewImagePath = savePath;
+                            tempDocument.Release();
+
+                            Settings.Default.WatermarkTemplateList[TemplateWatermarkItem.listIndex] = watermarkItem;
+                            Settings.Default.Save();
+                        }
                     }
-                }
-                catch
-                {
+                    catch
+                    {
 
-                }
-                this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(new EnumTemplateListOrCreateUnicode
-                {
-                    Unicode = Unicode,
-                    Status = EnumTemplateListOrCreate.StatusTemplate
-                });
+                    }
+                    this.eventAggregator.GetEvent<EnterTemplateListOrCreateEvent>().Publish(new EnumTemplateListOrCreateUnicode
+                    {
+                        Unicode = Unicode,
+                        Status = EnumTemplateListOrCreate.StatusTemplate
+                    });
 
+                }
             }
-        }
 
-        public bool IsNavigationTarget(NavigationContext navigationContext)
-        {
-            return true;
-        }
-
-        public void OnNavigatedFrom(NavigationContext navigationContext)
-        {
-        }
+            public bool IsNavigationTarget(NavigationContext navigationContext)
+            {
+                return true;
+            }
 
-        public void OnNavigatedTo(NavigationContext navigationContext)
-        {
-            navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
-            EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
-            if (navigationContext.Parameters.TryGetValue<WatermarkItem>("WatermarkItem", out TemplateWatermarkItem))
+            public void OnNavigatedFrom(NavigationContext navigationContext)
             {
-                InitComponentBySelectedInfo();
             }
 
+            public void OnNavigatedTo(NavigationContext navigationContext)
+            {
+                navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
+                EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
+                if (navigationContext.Parameters.TryGetValue<WatermarkItem>("WatermarkItem", out TemplateWatermarkItem))
+                {
+                    InitComponentBySelectedInfo();
+                }
+
+            }
         }
     }
-}

+ 11 - 4
PDF Office/ViewModels/EditTools/Watermark/WatermarkDocumentContentViewModel.cs

@@ -95,7 +95,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
 
         public void SetWatermark(WatermarkInfoUnicode watermarkInfounicode)
         {
-            WatermarkInfo watermarkInfo= watermarkInfounicode.Status;
+            WatermarkInfo watermarkInfo = watermarkInfounicode.Status;
             this.watermarkInfo = watermarkInfo;
             //CreateWatermark(viewContentViewModel.PDFViewer.Document);
             // PDFViewer.Document.PdfToImage("0-1", "C:\\Users\\kdanmobile\\Desktop\\888\\");
@@ -172,9 +172,16 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
                             }
                             if (PageIndexLists.Contains(drawPageData.PageIndex - 1))
                             {
-
-                                WriteableBitmap waterMarkBitmap = GetWatermark(PDFViewer.Document, e.Zoom, drawPageData.PageIndex);
-                                e.DrawContext.DrawImage(waterMarkBitmap, drawPageData.PageBound);
+                                if (watermarkInfo.WatermarkType == C_Watermark_Type.WATERMARK_TYPE_TEXT && watermarkInfo.Text != "")
+                                {
+                                    WriteableBitmap waterMarkBitmap = GetWatermark(PDFViewer.Document, e.Zoom, drawPageData.PageIndex);
+                                    e.DrawContext.DrawImage(waterMarkBitmap, drawPageData.PageBound);
+                                }
+                                if (watermarkInfo.WatermarkType == C_Watermark_Type.WATERMARK_TYPE_IMG)
+                                {
+                                    WriteableBitmap waterMarkBitmap = GetWatermark(PDFViewer.Document, e.Zoom, drawPageData.PageIndex);
+                                    e.DrawContext.DrawImage(waterMarkBitmap, drawPageData.PageBound);
+                                }
                             }
                         }
                     }

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

@@ -32,18 +32,18 @@
                     <StackPanel Orientation="Horizontal" Margin="0,8,0,0">
                         <StackPanel Orientation="Horizontal">
                             <TextBlock Width="24" Height="24" Background="CadetBlue"></TextBlock>
-                            <cus:CommonWritableComboBox Width="66" Height="32" Margin="8,0,0,0" TypeSouce="{Binding RotationList}" Minimum="-360" Maximum="360" Unit=" " Text="0" Value="{Binding RotationValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
+                            <cus:CommonWritableComboBox Width="66" Height="32" Margin="8,0,0,0" TypeSouce="{Binding RotationList}" Minimum="-360" Maximum="360" Unit=" " Text="{Binding RotationText,Mode=TwoWay}" Value="{Binding RotationValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
                         </StackPanel>
                         <StackPanel Orientation="Horizontal" Margin="28,0,0,0">
                             <TextBlock Width="24" Height="24" Background="CadetBlue"></TextBlock>
-                            <cus:CommonWritableComboBox Width="66" Height="32" Margin="8,0,0,0" TypeSouce="{Binding OpacityList,Mode=TwoWay}" Text="100 %" Value="{Binding OpacityValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
+                            <cus:CommonWritableComboBox Width="66" Height="32" Margin="8,0,0,0" TypeSouce="{Binding OpacityList,Mode=TwoWay}" Text="{Binding OpacityText,Mode=TwoWay}" Value="{Binding OpacityValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
                         </StackPanel>
                     </StackPanel>
                     <ComboBox Height="32" Margin="0,8,0,0" ItemsSource="{Binding IsFrontList}" SelectedIndex="{Binding IsFrontSelectedIndex}"></ComboBox>
                     <CheckBox Margin="0,11,0,0" Name="RelativeScaleCheckBox">
                         <TextBlock Text="相对于页面目标的比例" Width="144" Height="22" FontSize="14"/>
                     </CheckBox>
-                    <cus:CommonWritableComboBox Width="66" Height="32" HorizontalAlignment="Left" Margin="0,9,0,0" TypeSouce="{Binding ScaleList}" IsEnabled="{Binding ElementName=RelativeScaleCheckBox,Path=IsChecked}" Text="50 %" Value="{Binding RelativeScaleValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
+                    <cus:CommonWritableComboBox Width="66" Height="32" HorizontalAlignment="Left" Margin="0,9,0,0" TypeSouce="{Binding ScaleList}" IsEnabled="{Binding ElementName=RelativeScaleCheckBox,Path=IsChecked}" Text="{Binding RelativeScaleText,Mode=TwoWay}" Value="{Binding RelativeScaleValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
                 </StackPanel>
             </Grid>
             <Grid  Grid.Row="1"  Margin="16,10,16,0" Width="228">

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

@@ -49,18 +49,18 @@
                 <StackPanel Orientation="Horizontal" Margin="0,8,0,0">
                     <StackPanel Orientation="Horizontal">
                         <TextBlock Width="24" Height="24" Background="CadetBlue"></TextBlock>
-                        <cus:CommonWritableComboBox  Width="66" Height="32" Margin="8,0,0,0" TypeSouce="{Binding RotationList}" Minimum="-360" Maximum="360" Unit=" " Text="0" Value="{Binding RotationValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
+                        <cus:CommonWritableComboBox  Width="66" Height="32" Margin="8,0,0,0" TypeSouce="{Binding RotationList}" Minimum="-360" Maximum="360" Unit=" " Text="{Binding RotationText,Mode=TwoWay}" Value="{Binding RotationValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
                     </StackPanel>
                     <StackPanel Orientation="Horizontal" Margin="28,0,0,0">
                         <TextBlock Width="24" Height="24" Background="CadetBlue"></TextBlock>
-                        <cus:CommonWritableComboBox Width="66" Height="32" Margin="8,0,0,0" TypeSouce="{Binding OpacityList,Mode=TwoWay}" Text="100 %" Value="{Binding OpacityValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
+                        <cus:CommonWritableComboBox Width="66" Height="32" Margin="8,0,0,0" TypeSouce="{Binding OpacityList,Mode=TwoWay}" Text="{Binding OpacityText,Mode=TwoWay}" Value="{Binding OpacityValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
                     </StackPanel>
                 </StackPanel>
                 <ComboBox Height="32" Margin="0,8,0,0" ItemsSource="{Binding IsFrontList}" SelectedIndex="{Binding IsFrontSelectedIndex}"></ComboBox>
                 <CheckBox Margin="0,11,0,0" Name="RelativeScaleCheckBox">
                     <TextBlock Text="相对于页面目标的比例" Width="144" Height="22" FontSize="14"/>
                 </CheckBox>
-                <cus:CommonWritableComboBox Width="66" Height="32" HorizontalAlignment="Left" Margin="0,9,0,0" TypeSouce="{Binding ScaleList}" IsEnabled="{Binding ElementName=RelativeScaleCheckBox,Path=IsChecked}" Text="50 %" Value="{Binding RelativeScaleValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
+                <cus:CommonWritableComboBox Width="66" Height="32" HorizontalAlignment="Left" Margin="0,9,0,0" TypeSouce="{Binding ScaleList}" IsEnabled="{Binding ElementName=RelativeScaleCheckBox,Path=IsChecked}" Text="{Binding RelativeScaleText,Mode=TwoWay}" Value="{Binding RelativeScaleValue,Mode=TwoWay}"></cus:CommonWritableComboBox>
             </StackPanel>
         </Grid>
         <Grid  Grid.Row="2"  Margin="0,10,0,0" Width="228">