liyijie vor 2 Jahren
Ursprung
Commit
36a5b2b56d
26 geänderte Dateien mit 1312 neuen und 1091 gelöschten Zeilen
  1. 27 27
      PDF Office/CustomControl/NumericUpDown.xaml
  2. 69 69
      PDF Office/CustomControl/NumericUpDown.xaml.cs
  3. 1 1
      PDF Office/CustomControl/PageTurningPreview.xaml.cs
  4. 22 22
      PDF Office/CustomControl/WritableComboBox.xaml
  5. 6 4
      PDF Office/CustomControl/WritableComboBox.xaml.cs
  6. 2 1
      PDF Office/Helper/HomePageEditHelper.cs
  7. 162 153
      PDF Office/Model/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDialogModel.cs
  8. 35 43
      PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageExtractDialogViewModel.cs
  9. 3 6
      PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageInsertDialogViewModel.cs
  10. 276 56
      PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDialogViewModel.cs
  11. 1 1
      PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModPosterContentViewModel.cs
  12. 2 2
      PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModSizeContentViewModel.cs
  13. 2 3
      PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterPageSetDialogViewModel.cs
  14. 41 41
      PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageSplitDialogViewModel.cs
  15. 43 43
      PDF Office/ViewModels/HomePanel/HomeGuidContentViewModel.cs
  16. 70 70
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageExtractDialog.xaml
  17. 28 28
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageExtractDialog.xaml.cs
  18. 86 86
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageInsertDialog.xaml
  19. 36 35
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageInsertDialog.xaml.cs
  20. 138 138
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDialog.xaml
  21. 37 37
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModBookletContent.xaml
  22. 34 34
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModMutipleContent.xaml
  23. 63 63
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModPosterContent.xaml
  24. 35 35
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModSizeContent.xaml
  25. 65 65
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageSplitDialog.xaml
  26. 28 28
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageSplitDialog.xaml.cs

+ 27 - 27
PDF Office/CustomControl/NumericUpDown.xaml

@@ -1,28 +1,28 @@
-<UserControl x:Class="PDF_Office.CustomControl.NumericUpDown"
-            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
-             xmlns:local="clr-namespace:PDF_Office.CustomControl"
-             mc:Ignorable="d" 
-             d:DesignHeight="40" d:DesignWidth="80">
-    <Grid>
-        <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="4*"/>
-            <ColumnDefinition Width="1*"/>
-        </Grid.ColumnDefinitions>
-        <TextBox Name="TextBox_Num" Grid.Column="0" Text="1" FontSize="20" TextAlignment="Center" MinWidth="80" MinHeight="20" VerticalContentAlignment="Center" TextChanged="TextBox_Num_TextChanged" InputMethod.IsInputMethodEnabled="False"  PreviewTextInput="CountTextBox_PreviewTextInput" />
-        <Grid Grid.Column="1">
-            <Grid.RowDefinitions>
-                <RowDefinition/>
-                <RowDefinition/>
-            </Grid.RowDefinitions>
-            <Button Name="Button_Add" Grid.Row="0" Click="Button_Add_Click" Background="White">
-                <Path  VerticalAlignment="Center" HorizontalAlignment="Center" Stroke="Black"  Data="M0 8L4 1 L8 8" Height="10" Stretch="Fill" Visibility="{Binding CompressLargeStyle}"/>
-            </Button>
-            <Button Name="Button_Sub" Grid.Row="1"   Click="Button_Sub_Click" Background="White">
-                <Path  VerticalAlignment="Center" HorizontalAlignment="Center" Stroke="Black"  Data="M0 8L4 16 L8 8" Height="10" Stretch="Fill" Visibility="{Binding CompressLargeStyle}"/>
-            </Button>
-        </Grid> 
-    </Grid>
+<UserControl x:Class="PDF_Office.CustomControl.NumericUpDown"
+            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:local="clr-namespace:PDF_Office.CustomControl"
+             mc:Ignorable="d" 
+             d:DesignHeight="40" d:DesignWidth="80">
+    <Grid>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="4*"/>
+            <ColumnDefinition Width="1*"/>
+        </Grid.ColumnDefinitions>
+        <TextBox Name="TextBox_Num" Grid.Column="0" Text="1" FontSize="20" TextAlignment="Center" MinWidth="80" MinHeight="20" VerticalContentAlignment="Center" TextChanged="TextBox_Num_TextChanged" InputMethod.IsInputMethodEnabled="False"  PreviewTextInput="CountTextBox_PreviewTextInput" />
+        <Grid Grid.Column="1">
+            <Grid.RowDefinitions>
+                <RowDefinition/>
+                <RowDefinition/>
+            </Grid.RowDefinitions>
+            <Button Name="Button_Add" Grid.Row="0" Click="Button_Add_Click" Background="White">
+                <Path  VerticalAlignment="Center" HorizontalAlignment="Center" Stroke="Black"  Data="M0 8L4 1 L8 8" Height="10" Stretch="Fill" Visibility="{Binding CompressLargeStyle}"/>
+            </Button>
+            <Button Name="Button_Sub" Grid.Row="1"   Click="Button_Sub_Click" Background="White">
+                <Path  VerticalAlignment="Center" HorizontalAlignment="Center" Stroke="Black"  Data="M0 8L4 16 L8 8" Height="10" Stretch="Fill" Visibility="{Binding CompressLargeStyle}"/>
+            </Button>
+        </Grid>
+    </Grid>
 </UserControl>

+ 69 - 69
PDF Office/CustomControl/NumericUpDown.xaml.cs

@@ -1,72 +1,72 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
 using System.Text.RegularExpressions;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace PDF_Office.CustomControl
-{
-    /// <summary>
-    /// NumericUpDown.xaml 的交互逻辑
-    /// </summary>
-    public partial class NumericUpDown : UserControl
-    {
-        public int Num
-        {
-            get
-            {
-                int value = 0;
-                this.Dispatcher.Invoke(new Action(() =>
-                    value = Convert.ToInt32(this.TextBox_Num.Text.Trim())
-                ));
-                return value;
-            }
-            set
-            {
-                this.Dispatcher.Invoke(new Action(() =>
-                {
-                    this.TextBox_Num.Text = value.ToString();
-                }));
-            }
-        }
-        public NumericUpDown()
-        {
-            InitializeComponent();
-        }
-
-        private void Button_Add_Click(object sender, RoutedEventArgs e)
-        {
-            int num = int.Parse(this.TextBox_Num.Text.Trim());
-            if (num > 0)
-            {
-                this.TextBox_Num.Text = (num + 1).ToString();
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace PDF_Office.CustomControl
+{
+    /// <summary>
+    /// NumericUpDown.xaml 的交互逻辑
+    /// </summary>
+    public partial class NumericUpDown : UserControl
+    {
+        public int Num
+        {
+            get
+            {
+                int value = 0;
+                this.Dispatcher.Invoke(new Action(() =>
+                    value = Convert.ToInt32(this.TextBox_Num.Text.Trim())
+                ));
+                return value;
+            }
+            set
+            {
+                this.Dispatcher.Invoke(new Action(() =>
+                {
+                    this.TextBox_Num.Text = value.ToString();
+                }));
+            }
+        }
+        public NumericUpDown()
+        {
+            InitializeComponent();
+        }
+
+        private void Button_Add_Click(object sender, RoutedEventArgs e)
+        {
+            int num = int.Parse(this.TextBox_Num.Text.Trim());
+            if (num > 0)
+            {
+                this.TextBox_Num.Text = (num + 1).ToString();
                 Text = this.TextBox_Num.Text;
-            }
-        }
-
-        private void Button_Sub_Click(object sender, RoutedEventArgs e)
-        {
-            int num = int.Parse(this.TextBox_Num.Text.Trim());
-            if (num > 0)
-            {
-                if ((num - 1) == 0)
-                    return;
-                this.TextBox_Num.Text = (num - 1).ToString();
+            }
+        }
+
+        private void Button_Sub_Click(object sender, RoutedEventArgs e)
+        {
+            int num = int.Parse(this.TextBox_Num.Text.Trim());
+            if (num > 0)
+            {
+                if ((num - 1) == 0)
+                    return;
+                this.TextBox_Num.Text = (num - 1).ToString();
                 Text = this.TextBox_Num.Text;
-            }
-        }
-        
-        
+            }
+        }
+
+
 
         public string Text
         {
@@ -80,7 +80,7 @@ namespace PDF_Office.CustomControl
 
         private void TextBox_Num_TextChanged(object sender, TextChangedEventArgs e)
         {
-            if (this.TextBox_Num.Text ==""|| int.Parse(this.TextBox_Num.Text) < 1)
+            if (this.TextBox_Num.Text == "" || int.Parse(this.TextBox_Num.Text) < 1)
             {
                 this.TextBox_Num.Text = "1";
             }
@@ -91,5 +91,5 @@ namespace PDF_Office.CustomControl
         {
             e.Handled = new Regex("[^0-9]+").IsMatch(e.Text);
         }
-    }
-}
+    }
+}

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

@@ -24,7 +24,7 @@ namespace PDF_Office.CustomControl
     /// </summary>
     public partial class PageTurningPreview : UserControl
     {
-        public  CPDFDocument document;
+        public CPDFDocument document;
         public PageTurningPreview()
         {
             InitializeComponent();

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

@@ -1,22 +1,22 @@
-<UserControl x:Class="PDF_Office.CustomControl.WritableComboBox"
-                   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
-             xmlns:local="clr-namespace:PDF_Office.CustomControl"
-             mc:Ignorable="d" 
-             d:DesignHeight="32" d:DesignWidth="200">
-    <Grid>
-
-
-        <ComboBox x:Name="writableComboBox" Grid.Column="1"  Visibility="Visible" MinHeight="32"  MinWidth="58"
-                                      SelectionChanged="writableComboBox_SelectionChanged" SelectedIndex="0">
-            <ComboBoxItem >全部页面</ComboBoxItem>
-            <ComboBoxItem >奇数页</ComboBoxItem>
-            <ComboBoxItem >偶数页</ComboBoxItem>
-            <ComboBoxItem >自定义页面</ComboBoxItem>
-        </ComboBox>
-        <TextBox  x:Name="writableTextBox" VerticalContentAlignment="Center"  Visibility="Hidden" MinHeight="{Binding ElementName=EnterableComboBox, Path=MinHeight}" Grid.Column="0" HorizontalAlignment="Left" TextChanged="writableTextBox_TextChange">
-        </TextBox>
-    </Grid>
-</UserControl>
+<UserControl x:Class="PDF_Office.CustomControl.WritableComboBox"
+                   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:local="clr-namespace:PDF_Office.CustomControl"
+             mc:Ignorable="d" 
+             d:DesignHeight="32" d:DesignWidth="200">
+    <Grid>
+
+
+        <ComboBox x:Name="writableComboBox" Grid.Column="1"  Visibility="Visible" MinHeight="32"  MinWidth="58"
+                                      SelectionChanged="writableComboBox_SelectionChanged" SelectedIndex="0">
+            <ComboBoxItem >全部页面</ComboBoxItem>
+            <ComboBoxItem >奇数页</ComboBoxItem>
+            <ComboBoxItem >偶数页</ComboBoxItem>
+            <ComboBoxItem >自定义页面</ComboBoxItem>
+        </ComboBox>
+        <TextBox  x:Name="writableTextBox" VerticalContentAlignment="Center"  Visibility="Hidden" MinHeight="{Binding ElementName=EnterableComboBox, Path=MinHeight}" Grid.Column="0" HorizontalAlignment="Left" TextChanged="writableTextBox_TextChange">
+        </TextBox>
+    </Grid>
+</UserControl>

+ 6 - 4
PDF Office/CustomControl/WritableComboBox.xaml.cs

@@ -38,16 +38,18 @@ namespace PDF_Office.CustomControl
             }
             else
             {
-                if (this.writableTextBox != null) {
+                if (this.writableTextBox != null)
+                {
                     this.writableTextBox.Visibility = Visibility.Hidden;
                 }
             }
-            
-            if (this.writableComboBox.Items.Count==5)
+
+            if (this.writableComboBox.Items.Count == 5)
             {
                 if (this.writableComboBox.SelectedIndex == 1)
                 { IsCurrentPage = true; }
-                else {
+                else
+                {
                     IsCurrentPage = false;
                 }
             }

+ 2 - 1
PDF Office/Helper/HomePageEditHelper.cs

@@ -75,7 +75,8 @@ namespace PDF_Office.Helper
 
         }
 
-        public static void GetPagerange(string PageRangeSelectIndex ,CPDFViewer currentViewer,ref string pageRange,string pageRangeText,bool currentpage=false) {
+        public static void GetPagerange(string PageRangeSelectIndex, CPDFViewer currentViewer, ref string pageRange, string pageRangeText, bool currentpage = false)
+        {
             if (!currentpage)
             {
                 if (PageRangeSelectIndex == "0")

+ 162 - 153
PDF Office/Model/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDialogModel.cs

@@ -5,161 +5,170 @@ using System.Numerics;
 using System.Runtime.Remoting.Channels;
 using System.Text;
 using System.Threading.Tasks;
+using static PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterDialogModel;
 
 namespace PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePagePrinter
 {
-    internal class HomePagePrinterDialogModel
-    {
-        public enum EnumPaperSize
-        {
-            StatusA3,
-            StatusA4,
-            StatusA5,
-            StatusB5,
-            StatusNo10Envelope,
-            StatusChoukei3Envelope,
-            StatusDLEnvelope,
-            StatusJISB5,
-            StatusROC16K,
-            StatusExtraLargeBA3,
-            StatusTabloid,
-            StatusExraLargeTabloid,
-            StatusAmericanLegal,
-            StatusAmericanLetter,
-            StatusCustomized
-        }
-        public enum EnumSizeType
-        {
-            StatusAdaptive,
-            StatusActural,
-            StatusCustomized,
-        }
-
-        public enum EnumPageRange
-        {
-            StatusAllRange,
-            StatusCurrentRange,
-            StatusOddRange,
-            StatusEvenRange,
-            StatusCustomizedRange
-        }
-
-        public enum EnumPrintOrientation
-        {
-            StatusHorizontal,
-            StatusVertical,
-        }
-
-        public enum EnumPrintContent
-        {
-            StatusOnlyDocument,
-            StatusDocumentAndMarkUps,
-            StatusDocumentAndStamps,
-        }
-
-
-        public enum EnumPrintMod
-        {
-            StatusSize,
-            StatusPoster,
-            StatusMutiple,
-            StatusBooklet
-        }
-
-        public enum EnumPosterMod
-        {
-            StatusTile,
-            StatusSplit
-        }
-
-        public enum EnumDisplayPageNumber
-        {
-            StatusTwo,
-            StatusFour,
-            StatusSix,
-            StatusNine,
-            StatusSixteen,
-            StatusCustomized
-        }
-
-        public enum EnumPageOrder
-        {
-            StatusHorizontalOrder,
-            StatusHorizontalReverseOrder,
-            StatusVerticalOrder,
-            StatusVerticalReverseOrder,
-        }
-
-        public enum EnumBookletSubset
-        {
-            StatusBothSides,
-            StatusFrontSideOnly,
-            StatusBackSideOnly
-        }
-
-        public enum EnumBookletBinding
-        {
-            StatusLeft,
-            StatusRight,
-            StatusLeftTall,
-            StatusRightTall
-        }
-
-        public class PrintSettingsInfo
-        {
-            public bool IsBlackAndWhite { get; set; }
-            public bool IsReverseOrder { get; set; }
-            public EnumPaperSize EnumPaperSize { get; set; }
-            public EnumPrintOrientation EnumPrintOrientation { get; set; }
-            public EnumPageRange EnumPageRange { get; set; }
-            public int Copies { get; set; }
-            public string[] PrinterName { get; set; }
-            public string CustomizeRange { get; set; }
-            public PrintMod PrintMod { get; set; }
-        }
-
-        public abstract class PrintMod { }
-
-        public class SizeSetttingsInfo : PrintMod
-        {
-            public EnumSizeType SizeType;
-            public int DisplayRatio = 0;
-        }
-
-
-        public class PosterInfo : PrintMod
-        {
-            public bool CutMarks { get; set; }
-            public double OverLap { get; set; }  
-        }
-
-        public class PostModTileInfo : PosterInfo
-        {
-            public int TileRatio { get; set; }
-        }
-
-        public class PostModSplitInfo : PosterInfo
-        {
-            public EnumDisplayPageNumber EnumDisplayPageNumber { get; set; }
-            public int TileRatio { get; set; }
-            public int WidthPartNumber { get; set; }
-            public int HeightPartNumber { get; set; }
-        }
-
-        public class MutipleInfo : PrintMod
-        {
-            public bool AutoRotate { set; get; }
-            public EnumDisplayPageNumber EnumDisplayPageNumber { get; set; }
-            public int WidthPartNumber { get; set; }
-            public int HeightPartNumber { get; set; } 
-        }
-
-        public class BookletInfo : PrintMod
-        {
-            public EnumBookletSubset EnumBookletSubset { get; set; }
-            public EnumBookletBinding EnumBookletBinding { get; set; }
-            public int BeginPageIndex { get; set; }
-            public int EndPageIndex { get; set; }
-        }
+    public class PrintSettingsInfo
+    {
+        public bool IsBlackAndWhite { get; set; }
+        public bool IsReverseOrder { get; set; }
+        public EnumPaperSize EnumPaperSize { get; set; }
+        public EnumPageRange EnumPageRange { get; set; }
+        public EnumPrintOrientation EnumPrintOrientation { get; set; }
+        public bool PrintWithAnnot { get; set; }
+        public bool PrintWithForm { get; set; }
+        public int Copies { get; set; }
+        public string PrinterName { get; set; }
+        public string CustomizeRange { get; set; }
+        public SizeSetttingsInfo SizeSetttingsInfo { get; set; }
+        public PostModSplitInfo PostModSplitInfo { get; set; }
+        public PostModTileInfo PostModTileInfo { get; set; }
+        public MutipleInfo MutipleInfo { get; set; }
+        public BookletInfo BookletInfo { get; set; }
+    }
+
+    public class HomePagePrinterDialogModel
+    {
+    }
+
+    public enum EnumPaperSize
+    {
+        StatusA3,
+        StatusA4,
+        StatusA5,
+        StatusB5,
+        StatusNo10Envelope,
+        StatusChoukei3Envelope,
+        StatusDLEnvelope,
+        StatusJISB5,
+        StatusROC16K,
+        StatusExtraLargeBA3,
+        StatusTabloid,
+        StatusExraLargeTabloid,
+        StatusAmericanLegal,
+        StatusAmericanLetter,
+        StatusCustomized
+    }
+
+    public enum EnumSizeType
+    {
+        StatusAdaptive,
+        StatusActural,
+        StatusCustomized,
+    }
+
+    public enum EnumPageRange
+    {
+        StatusAllRange,
+        StatusCurrentRange,
+        StatusOddRange,
+        StatusEvenRange,
+        StatusCustomizedRange
+    }
+
+    public enum EnumPrintOrientation
+    {
+        StatusHorizontal,
+        StatusVertical,
+    }
+
+    public enum EnumPrintContent
+    {
+        StatusOnlyDocument,
+        StatusDocumentAndMarkUps,
+        StatusDocumentAndForm,
+    }
+
+
+    public enum EnumPrintMod
+    {
+        StatusSize,
+        StatusPoster,
+        StatusMutiple,
+        StatusBooklet
+    }
+
+    public enum EnumPosterMod
+    {
+        StatusTile,
+        StatusSplit
+    }
+
+    public enum EnumDisplayPageNumber
+    {
+        StatusTwo,
+        StatusFour,
+        StatusSix,
+        StatusNine,
+        StatusSixteen,
+        StatusCustomized
+    }
+
+    public enum EnumPageOrder
+    {
+        StatusHorizontalOrder,
+        StatusHorizontalReverseOrder,
+        StatusVerticalOrder,
+        StatusVerticalReverseOrder,
+    }
+
+    public enum EnumBookletSubset
+    {
+        StatusBothSides,
+        StatusFrontSideOnly,
+        StatusBackSideOnly
+    }
+
+    public enum EnumBookletBinding
+    {
+        StatusLeft,
+        StatusRight,
+        StatusLeftTall,
+        StatusRightTall
+    }
+
+    public abstract class PrintMod { }
+
+    public class SizeSetttingsInfo : PrintMod
+    {
+        public EnumSizeType SizeType { get; set; }
+        public int DisplayRatio { get; set; }
+    }
+
+
+    public class PosterInfo : PrintMod
+    {
+        public bool CutMarks { get; set; }
+        public double OverLap { get; set; }
+    }
+
+    public class PostModTileInfo : PosterInfo
+    {
+        public int TileRatio { get; set; }
+    }
+
+    public class PostModSplitInfo : PosterInfo
+    {
+        public EnumDisplayPageNumber EnumDisplayPageNumber { get; set; }
+        public int TileRatio { get; set; }
+        public int WidthPartNumber { get; set; }
+        public int HeightPartNumber { get; set; }
+    }
+
+    public class MutipleInfo : PrintMod
+    {
+        public bool AutoRotate { set; get; }
+        public EnumDisplayPageNumber EnumDisplayPageNumber { get; set; }
+        public int WidthPartNumber { get; set; }
+        public int HeightPartNumber { get; set; }
+    }
+
+    public class BookletInfo : PrintMod
+    {
+        public EnumBookletSubset EnumBookletSubset { get; set; }
+        public EnumBookletBinding EnumBookletBinding { get; set; }
+        public int BeginPageIndex { get; set; }
+        public int EndPageIndex { get; set; }
     }
 }

+ 35 - 43
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageExtractDialogViewModel.cs

@@ -27,7 +27,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         private string savefilepath { get; set; }
 
-        
+
 
         private string extractToSingleFileIsCheck = "False";
         public string ExtractToSingleFileIsCheck
@@ -51,10 +51,10 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         private string pageRangeText = "";
         public string PageRangeText
-    {
+        {
             get { return pageRangeText; }
             set
-        {
+            {
                 pageRangeText = value;
             }
         }
@@ -104,7 +104,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 Trace.WriteLine("输入不对");
                 MessageBoxEx.Show("输入不对");
                 return;
-        }
+            }
             if (extractModel.ExtractToSingleFile)
             {
                 for (int i = 0; i < extractModel.PageParm.ToArray().Length; i++)
@@ -112,7 +112,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                     CPDFDocument extractdoc = CPDFDocument.CreateDocument();
                     extractdoc.ImportPages(currentViewer.Document, (extractModel.PageParm.ToArray()[i] + 1).ToString());
                     Trace.WriteLine(extractModel.PageParm.ToArray()[i].ToString());
-                    extractdoc.WriteToFilePath(savefilepath+ currentViewer.Document.FileName + ".extract" + i.ToString() + ".pdf");
+                    extractdoc.WriteToFilePath(savefilepath + currentViewer.Document.FileName + ".extract" + i.ToString() + ".pdf");
                     extractdoc.Release();
                 }
                 if (extractModel.DeleteAfterExtract)
@@ -123,7 +123,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
             }
             else
-        {
+            {
                 CPDFDocument extractdoc = CPDFDocument.CreateDocument();
                 extractdoc.ImportPages(currentViewer.Document, extractModel.PageRange);
                 extractdoc.WriteToFilePath(savefilepath + currentViewer.Document.FileName + ".extract.pdf");
@@ -137,61 +137,54 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             System.Diagnostics.Process.Start("Explorer", "/select," + currentViewer.Document.FilePath);
             RequestClose.Invoke(new DialogResult(ButtonResult.OK));
         }
-            
+
         private void extractToSingleFile()
         {
             if (ExtractToSingleFileIsCheck == "True")
             {
                 extractModel.ExtractToSingleFile = true;
                 Trace.WriteLine("ExtractToSingleFileIsCheck" + extractModel.ExtractToSingleFile);
-        }
+            }
             else
             {
                 extractModel.ExtractToSingleFile = false;
                 Trace.WriteLine("ExtractToSingleFileIsCheck" + extractModel.ExtractToSingleFile);
-    }
-}
-========
-using Prism.Commands;
-using Prism.Mvvm;
-using Prism.Services.Dialogs;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
+            }
+        }
+
         private void deleteAfterExtract()
-{
+        {
 
             if (DeleteAfterExtractIsCheck == "True")
-    {
+            {
                 extractModel.DeleteAfterExtract = true;
                 Trace.WriteLine("DeleteAfterExtractIsCheck" + extractModel.DeleteAfterExtract);
             }
             else
-        {
+            {
                 extractModel.DeleteAfterExtract = false;
                 Trace.WriteLine("DeleteAfterExtractIsCheck" + extractModel.DeleteAfterExtract);
             }
-
-        }
+
+        }
         #endregion
-
+
         #region 框架行为
-        public string Title => "";
-
-        public event Action<IDialogResult> RequestClose;
-
-        public bool CanCloseDialog()
-        {
-            return true;
-        }
-
-        public void OnDialogClosed()
-        {
-        }
-
-        public void OnDialogOpened(IDialogParameters parameters)
-        {
+        public string Title => "";
+
+        public event Action<IDialogResult> RequestClose;
+
+        public bool CanCloseDialog()
+        {
+            return true;
+        }
+
+        public void OnDialogClosed()
+        {
+        }
+
+        public void OnDialogOpened(IDialogParameters parameters)
+        {
             CPDFViewer viewer = null;
             string filepath = "";
             parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out viewer);
@@ -204,8 +197,7 @@ using System.Linq;
 
 
             }
-        }
+        }
         #endregion
-    }
-}
->>>>>>>> 6ff4d4b (其他-修正代码命名):PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageExtractDialogViewModel.cs
+    }
+}

+ 3 - 6
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageInsertDialogViewModel.cs

@@ -1,5 +1,4 @@
-<<<<<<< HEAD
-using ComPDFKit.PDFDocument;
+using ComPDFKit.PDFDocument;
 using ComPDFKitViewer.PdfViewer;
 using PDF_Office.Model;
 using Prism.Commands;
@@ -163,8 +162,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 //TODO
                 return;
             }
-            
-            insertModel.InsertIndex =int.Parse( PageInsertIndex);
+
+            insertModel.InsertIndex = int.Parse(PageInsertIndex);
             if (PageLocation == "1")
             {
                 insertModel.InsertIndex = insertModel.InsertIndex - 1;
@@ -247,5 +246,3 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         #endregion
     }
 }
-
-

+ 276 - 56
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDialogViewModel.cs

@@ -1,10 +1,10 @@
 using PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter;
-using Prism.Commands;
-using Prism.Mvvm;
+using Prism.Commands;
+using Prism.Mvvm;
 using Prism.Regions;
-using Prism.Services.Dialogs;
-using System;
-using System.Collections.Generic;
+using Prism.Services.Dialogs;
+using System;
+using System.Collections.Generic;
 using System.Windows.Controls;
 using System.Windows;
 using System.Diagnostics;
@@ -12,16 +12,41 @@ using System.Drawing.Printing;
 using PDFSettings;
 using ComPDFKit.PDFDocument;
 using PDF_Office.Model;
-
-namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
-{
+using System.Drawing;
+using System.Reflection;
+using PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePagePrinter;
+using System.Threading.Tasks;
+using static PDF_Office.Model.Dialog.ToolsDialogs.SaftyDialogs.SetPasswordDialogModel;
+using ComPDFKit.PDFPage;
+using PDF_Office.Helper;
+using System.Drawing.Drawing2D;
+using static PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterDialogModel;
+using ComPDFKitViewer.PdfViewer;
+
+namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
+{
     public class HomePagePrinterDialogViewModel : BindableBase, IDialogAware, INavigationAware
     {
         public IDialogService Dialogs;
         public IRegionManager PrintModRegion;
-
+        private Object locker = new Object();
+        private CPDFViewer currentViewer;
         private string currentPrintModName;
 
+        public Dictionary<string, string> GetContentByPrintMod;
+        public Dictionary<int, string> GetPrinterNameByPrinterIndex;
+
+        public HomePagePrinterDialogModel homePagePrinterDialogModel;
+        public PrintSettingsInfo printSettingsInfo;
+
+        private Visibility _printModVisible = Visibility.Collapsed;
+        public Visibility PrintModVisible
+        {
+            get { return _printModVisible; }
+            set { SetProperty(ref _printModVisible, value); }
+        }
+
+        #region 界面和组件初始化
         private string _printModRegionName;
         public string PrintModRegionName
         {
@@ -35,15 +60,6 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
             }
         }
 
-        public Dictionary<string, string> GetContentByPrintMod;
-
-        private Visibility _printModVisible = Visibility.Collapsed;
-        public Visibility PrintModVisible
-        {
-            get { return _printModVisible; }
-            set { SetProperty(ref _printModVisible, value); }
-        }
-
         private List<string> _printerNameList;
         public List<string> PrinterNameList
         {
@@ -66,6 +82,36 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
             get { return _printerDirectionList; }
             set { _printerDirectionList = value; }
         }
+        #endregion
+
+        #region 属性设置
+        private int _printerIndex;
+        public int PrinterIndex
+        {
+            get { return _printerIndex; }
+            set { _printerIndex = value; }
+        }
+        #endregion
+
+        #region 打印
+        private PrintDocument printDocument = new PrintDocument();
+        private PrinterSettings printerSettings = new PrinterSettings();
+        private PageSettings PageSettings = new PageSettings();
+
+        /// <summary>
+        ///待打印页面集合,存储页面索引值
+        /// </summary>
+        private List<int> TargetPages = new List<int>();
+
+        private int currentListIndex = 0;
+        private bool annotation = true;
+        private bool form = true;
+
+        private int currentViewerPageIndex = 0;
+
+        System.Drawing.Point location = new System.Drawing.Point(10, 10);
+        System.Drawing.Size size = new System.Drawing.Size(600, 150);
+        #endregion
 
         public DelegateCommand<object> DelegateChangePrintModCommand { get; set; }
 
@@ -76,14 +122,22 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
             PrintModVisible = Visibility.Visible;
             PrintModRegionName = Guid.NewGuid().ToString();
             DelegateChangePrintModCommand = new DelegateCommand<object>(ChangePrintMod);
+            homePagePrinterDialogModel = new HomePagePrinterDialogModel();
+            printSettingsInfo = new PrintSettingsInfo();
 
             GetContentByPrintMod = new Dictionary<string, string>();
             InitGetContentByPrintMod(ref GetContentByPrintMod);
 
-            InitComponent();
+            GetPrinterNameByPrinterIndex = new Dictionary<int, string>();
+            InitGetPrinterNameByPrinterIndex(ref GetPrinterNameByPrinterIndex);
+
+            InitComponentAsync();
+            InitPrinterSettings();
+
         }
 
-        private void InitComponent()
+        #region 组件初始化
+        private void InitComponentAsync()
         {
             InitPrinterNameList();
             InitPrintContentList();
@@ -91,7 +145,38 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
             InitPrintDirectionList();
         }
 
+        private void PaintPageAtIndex(object currentViewerIndex)
+        {
+            try
+            {
+                lock (locker)
+                {
+                    #region 根据不同打印模式 做不同处理
+                    switch (currentPrintModName)
+                    {
+                        case "ModPoster":
+
+                            break;
+                        case "ModMutiple":
 
+                            break;
+                        case "ModBooklet":
+                            //打印机要适时设置双面打印
+
+                            break;
+                        case "ModSize"://普通 大小模式
+                        default:
+                            PreviewModSize(currentViewerPageIndex);
+                            break;
+                    }
+                    #endregion
+                }
+            }
+            catch (Exception ex)
+            {
+
+            }
+        }
 
         private void InitPrinterNameList()
         {
@@ -114,7 +199,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
 
         private void InitPrintDirectionList()
         {
-            PrintDirectionList= new List<string>();
+            PrintDirectionList = new List<string>();
             PrintDirectionList.Add("横向");
             PrintDirectionList.Add("纵向");
         }
@@ -127,57 +212,192 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
             dictionary.Add("ModBooklet", "HomePagePrinterModBookletContent");
         }
 
-        private void ShowContent(string currentBar)
+        private void InitGetPrinterNameByPrinterIndex(ref Dictionary<int, string> dictionary)
         {
-            PrintModVisible = Visibility.Visible;
-            //TODO
+            int index = 0;
+            PrinterNameList = new List<string>();
+            PrintDocument printDocument = new PrintDocument();
+            string defaultPrinterName = printDocument.PrinterSettings.PrinterName;
+
+            foreach (string printerListItem in PrinterSettings.InstalledPrinters)
+            {
+                dictionary.Add(index++, printerListItem);
+            }
+            if (index == 0)
+            {
+#if DEBUG
+                MessageBox.Show("No Printer!");
+#endif
+            }
         }
 
-        private void EnterSelectedMod(string currentBar)
-    {
+        #endregion
+
+        #region 打印初始化
+        public double GetDpiByGraphics()
+        {
+            BindingFlags bindingAttr = BindingFlags.Static | BindingFlags.NonPublic;
+            PropertyInfo property = typeof(SystemParameters).GetProperty("Dpi", bindingAttr);
+            return (int)property.GetValue(null, null);
+        }
+        public void InitPrinterSettings()
+        {
+            location = new System.Drawing.Point((int)(18 * GetDpiByGraphics() / 120), (int)(66 * GetDpiByGraphics() / 120));
+            size = new System.Drawing.Size((int)(624 * GetDpiByGraphics() / 120), (int)(130 * GetDpiByGraphics() / 120));
+        }
+
+        public async Task InitPrintParamsAsync()
+        {
+            printSettingsInfo.PrinterName = GetPrinterNameByPrinterIndex[PrinterIndex];
+            printSettingsInfo.Copies = 1;
+            printSettingsInfo.IsBlackAndWhite = false;
+            printSettingsInfo.IsReverseOrder = false;
+            printSettingsInfo.PrintWithAnnot = true;
+            printSettingsInfo.PrintWithForm = true;
+            printSettingsInfo.EnumPrintOrientation = EnumPrintOrientation.StatusHorizontal;
+
+            SizeSetttingsInfo sizeSetttingsInfo = new SizeSetttingsInfo();
+            sizeSetttingsInfo.SizeType = EnumSizeType.StatusAdaptive;
+            sizeSetttingsInfo.DisplayRatio = 100;
+            printSettingsInfo.SizeSetttingsInfo = sizeSetttingsInfo;
+
+            await Task.Run(() => { PaintPageAtIndex(currentViewerPageIndex); });
+        }
+        #endregion
+
+        #region 四种打印的预览
+        /// <summary>
+        /// 重新调整图片大小(比例不变) 缩放图片
+        /// 可以直接传入目标区域大小,不会丢失原图比例
+        /// </summary>
+        /// <param name="image"></param>
+        /// <param name="size"></param>
+        /// <returns></returns>
+        public System.Drawing.Image ResizeImage(System.Drawing.Image image, System.Drawing.Size size)
+        {
+            //获取图片宽度
+            int sourceWidth = image.Width;
+            //获取图片高度
+            int sourceHeight = image.Height;
+
+            float nPercent = 0;
+            float nPercentW = 0;
+            float nPercentH = 0;
+            //计算宽度的缩放比例
+            //nPercentW = ((float)size.Width * (float)GetDpiByGraphics()/120/ (float)sourceWidth);
+            ////计算高度的缩放比例
+            //nPercentH = ((float)size.Height*(float)GetDpiByGraphics() / 120 / (float)sourceHeight);
+            nPercentW = ((float)size.Width / (float)sourceWidth);
+            //计算高度的缩放比例
+            nPercentH = ((float)size.Height / (float)sourceHeight);
+
+            if (nPercentH < nPercentW)
+                nPercent = nPercentH;
+            else
+                nPercent = nPercentW;
+            //期望的宽度
+            int destWidth = (int)(sourceWidth * nPercent);
+            //期望的高度
+            int destHeight = (int)(sourceHeight * nPercent);
+
+            System.Drawing.Bitmap b = new System.Drawing.Bitmap(destWidth, destHeight);
+            Graphics g = Graphics.FromImage((System.Drawing.Image)b);
+            //g.InterpolationMode = InterpolationMode.HighQualityBicubic;
+            g.SmoothingMode = SmoothingMode.None; //抗锯齿
+            g.InterpolationMode = InterpolationMode.HighQualityBicubic; //高质量的双三次插值
+            g.CompositingQuality = CompositingQuality.HighQuality; //高质量、低速度复合
+            //绘制图像
+            g.DrawImage(image, 0, 0, destWidth, destHeight);
+            g.Dispose();
+            return (System.Drawing.Image)b;
+        }
+
+        private async void PreviewModSize(int pageIndex)
+        {
+            CPDFPage cPDFPage = document.PageAtIndex(pageIndex);
+            if (cPDFPage == null)
+            {
+                double left = 0;
+                double top = 0;
+                double rate = 0;
+                int dpi = (int)GetDpiByGraphics();
+                Bitmap bitmap = await ToolMethod.RenderPageBitmap(document, (int)(cPDFPage.PageSize.Width * rate * 1.4), (int)(cPDFPage.PageSize.Height * rate * 1.4), pageIndex, printSettingsInfo.PrintWithAnnot, printSettingsInfo.PrintWithForm);
+                var pageBound = printDocument.DefaultPageSettings.Bounds;
+                double ZoomRate = (double)printSettingsInfo.SizeSetttingsInfo.DisplayRatio / 100.0;
+                if (printSettingsInfo.SizeSetttingsInfo.SizeType == EnumSizeType.StatusAdaptive)
+                {
+                    float zoompercent = 0;
+                    float percentW = 0;
+                    float percentH = 0;
+                    percentW = ((float)(pageBound.Width * rate) / (float)bitmap.Width);
+                    percentH = ((float)(pageBound.Height * rate) / (float)bitmap.Height);
+                    zoompercent = percentH > percentW ? percentW : percentH;
+
+                    var newSize = new System.Drawing.Size((int)(bitmap.Width * zoompercent), (int)(bitmap.Height * zoompercent));
+                    bitmap = (Bitmap)ResizeImage(bitmap, newSize);
 
+                    left = (pageBound.Width * rate - bitmap.Width) / 2;
+                    top = (pageBound.Height * rate - bitmap.Height) / 2;
+
+                    int pwidth = (int)(pageBound.Width * rate);
+                    int pheight = (int)(pageBound.Height * rate);
+
+                    Bitmap bmp = new Bitmap(pwidth, pheight);
+                    Graphics g = Graphics.FromImage(bmp);
+                    g.DrawImage(bitmap, (float)left, (float)top, bitmap.Width, bitmap.Height);
+                }
+            }
+        }
+        #endregion
+
+        private void EnterSelectedMod(string currentPrinterModContent)
+        {
             NavigationParameters param = new NavigationParameters();
             PrintModVisible = Visibility.Collapsed;
-            PrintModRegion.RequestNavigate(PrintModRegionName, GetContentByPrintMod[currentBar]);
-            //TODO
-            ShowContent(currentBar);
+            PrintModRegion.RequestNavigate(PrintModRegionName, GetContentByPrintMod[currentPrinterModContent]);
+            PrintModVisible = Visibility.Visible;
+            //TODO:
         }
 
 
-
+
         private void ChangePrintMod(object e)
         {
             var args = e as Button;
             if (args != null)
-        {
+            {
                 currentPrintModName = args.Name;
                 EnterSelectedMod(currentPrintModName);
                 //TODO:
             }
-        }
-
-        public string Title => "";
-
-        public event Action<IDialogResult> RequestClose;
-
-        public bool CanCloseDialog()
-        {
-            return true;
-        }
-
-        public void OnDialogClosed()
-        {
-        }
-
-        public void OnDialogOpened(IDialogParameters parameters)
-        {
-            CPDFDocument doc = null;
-            parameters.TryGetValue<CPDFDocument>(ParameterNames.PDFDocument, out doc);
-            if (doc != null)
+        }
+
+        public string Title => "";
+
+        public event Action<IDialogResult> RequestClose;
+
+        public bool CanCloseDialog()
+        {
+            return true;
+        }
+
+        public void OnDialogClosed()
+        {
+        }
+
+        public void OnDialogOpened(IDialogParameters parameters)
+        {
+            CPDFViewer viewer = null;
+            string filepath = "";
+            parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out viewer);
+            parameters.TryGetValue<string>(ParameterNames.FilePath, out filepath);
+            if (viewer != null && viewer.Document != null)
             {
-                document = doc;
+                currentViewer = viewer;
+                document = currentViewer.Document;
+                InitPrintParamsAsync();
+
             }
-            PrintModRegion.RequestNavigate(PrintModRegionName, GetContentByPrintMod["ModSize"]);
         }
 
         public void OnNavigatedTo(NavigationContext navigationContext)
@@ -191,6 +411,6 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
 
         public void OnNavigatedFrom(NavigationContext navigationContext)
         {
-        }
-    }
-}
+        }
+    }
+}

+ 1 - 1
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModPosterContentViewModel.cs

@@ -8,7 +8,7 @@ using System.Linq;
 
 namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
 {
-    public class HomePagePrinterModPosterContentViewModel : BindableBase,INavigationAware
+    public class HomePagePrinterModPosterContentViewModel : BindableBase, INavigationAware
     {
 
         public bool IsNavigationTarget(NavigationContext navigationContext)

+ 2 - 2
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModSizeContentViewModel.cs

@@ -7,7 +7,7 @@ using System.Linq;
 
 namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
 {
-    public class HomePagePrinterModSizeContentViewModel : BindableBase,INavigationAware
+    public class HomePagePrinterModSizeContentViewModel : BindableBase, INavigationAware
     {
         public HomePagePrinterModSizeContentViewModel()
         {
@@ -23,7 +23,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
         }
 
         public void OnNavigatedTo(NavigationContext navigationContext)
-        { 
+        {
         }
     }
 }

+ 2 - 3
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterPageSetDialogViewModel.cs

@@ -1,5 +1,4 @@
-
-using Prism.Commands;
+using Prism.Commands;
 using Prism.Mvvm;
 using Prism.Services.Dialogs;
 using System;
@@ -30,7 +29,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter
 
         public void OnDialogOpened(IDialogParameters parameters)
         {
-            
+
         }
     }
 }

+ 41 - 41
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageSplitDialogViewModel.cs

@@ -1,14 +1,14 @@
 using ComPDFKit.PDFDocument;
 using ComPDFKitViewer.PdfViewer;
 using PDF_Office.Model;
-using Prism.Commands;
-using Prism.Mvvm;
-using Prism.Services.Dialogs;
-using System;
+using Prism.Commands;
+using Prism.Mvvm;
+using Prism.Services.Dialogs;
+using System;
 using PDF_Office.Helper;
-using System.Collections.Generic;
+using System.Collections.Generic;
 using System.Diagnostics;
-using System.Linq;
+using System.Linq;
 using ImTools;
 using PDF_Office.Model.PageEdit;
 using ComPDFKit.PDFPage;
@@ -18,9 +18,9 @@ using System.Windows.Media;
 using PDF_Office.CustomControl;
 using PDF_Office.Model.Dialog.HomePageToolsDialogs;
 using PDF_Office.Model.HomePageToolsDialogs;
-
-namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
-{
+
+namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
+{
     public class HomePageSplitDialogViewModel : BindableBase, IDialogAware
     {
         #region 参数和属性
@@ -206,7 +206,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         private string fileNameDeimiterIsEnabled = "False";
         public string FileNameDeimiterIsEnabled
-    {
+        {
             get { return fileNameDeimiterIsEnabled; }
             set
             {
@@ -237,8 +237,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         public DelegateCommand FileNameLabelChangeCommand { get; set; }
         #endregion
 
-        public HomePageSplitDialogViewModel()
-        {
+        public HomePageSplitDialogViewModel()
+        {
             CancelCommand = new DelegateCommand(cancel);
             SplitCommand = new DelegateCommand(split);
             AveragePagesCommand = new DelegateCommand(averagePages);
@@ -263,8 +263,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             else
             {
                 splitModel.FileNameDeimiter = "";
-        }
-
+            }
+
             if (FileNameDeimiterIsCheck == "True")
             {
                 splitModel.FileNameDeimiter = FileNameDeimiterText;
@@ -338,7 +338,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 var averagefilespages = HomePageEditHelper.AverageSplitDocs(currentViewer.Document.PageCount, splitModel.GetModeCount, ref averagefilesremainder);
                 int averagefilesdoc;
                 if (splitModel.GetModeCount > currentViewer.Document.PageCount)
-                { 
+                {
                     splitModel.GetModeCount = 10;
                 }
                 for (averagefilesdoc = 1; averagefilesdoc <= splitModel.GetModeCount; averagefilesdoc++)
@@ -364,9 +364,9 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 extractdoc.ImportPages(currentViewer.Document, splitModel.PageRange);
                 extractdoc.WriteToFilePath(splitModel.FileName + "1" + ".pdf");
                 if (splitModel.PageRange != "1-" + currentViewer.Document.PageCount.ToString())
-                { 
+                {
                     currentViewer.Document.RemovePages(splitModel.PageParm.ToArray());
-                    currentViewer.Document.WriteToFilePath(splitModel.FileName + "2" + ".pdf"); 
+                    currentViewer.Document.WriteToFilePath(splitModel.FileName + "2" + ".pdf");
                 }
             }
             System.Diagnostics.Process.Start("Explorer", "/select," + currentViewer.Document.FilePath);
@@ -415,8 +415,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         private void frontFileName()
         {
             if (FileNameLabelIsCheck == "False")
-            { 
-                FileNameLabelText = ""; 
+            {
+                FileNameLabelText = "";
             }
             if (FileNameDeimiterIsCheck == "False")
             { FileNameDeimiterText = ""; }
@@ -436,8 +436,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         private void fileNameLabel()
         {
             if (FileNameDeimiterIsCheck == "False")
-            { 
-                FileNameDeimiterText = ""; 
+            {
+                FileNameDeimiterText = "";
             }
             if (FileNameLabelIsCheck == "True")
             {
@@ -507,21 +507,21 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         #region 构架行为
         public string Title => "";
-
-        public event Action<IDialogResult> RequestClose;
-
-        public bool CanCloseDialog()
-        {
-            return true;
-        }
-
-        public void OnDialogClosed()
-        {
-
-        }
-
-        public void OnDialogOpened(IDialogParameters parameters)
-        {
+
+        public event Action<IDialogResult> RequestClose;
+
+        public bool CanCloseDialog()
+        {
+            return true;
+        }
+
+        public void OnDialogClosed()
+        {
+
+        }
+
+        public void OnDialogOpened(IDialogParameters parameters)
+        {
             CPDFViewer viewer = null;
             string filepath = "";
             parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out viewer);
@@ -529,12 +529,12 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             if (viewer != null && viewer.Document != null)
             {
                 currentViewer = viewer;
-                document= viewer.Document;
+                document = viewer.Document;
                 savefilename = currentViewer.Document.FileName;
                 FilePathName = savefilename + "-" + "part" + ".pdf";
-                savefilepath = filepath.Replace(savefilename+".pdf","");
+                savefilepath = filepath.Replace(savefilename + ".pdf", "");
             }
-        }
+        }
         #endregion
-    }
-}
+    }
+}

+ 43 - 43
PDF Office/ViewModels/HomePanel/HomeGuidContentViewModel.cs

@@ -2,35 +2,35 @@
 using ComPDFKitViewer.PdfViewer;
 using PDF_Office.CustomControl;
 using PDF_Office.Model;
-using PDF_Office.Model.PDFTool;
-using PDF_Office.Views.HomePanel.PDFTools;
-using Prism.Commands;
-using Prism.Mvvm;
+using PDF_Office.Model.PDFTool;
+using PDF_Office.Views.HomePanel.PDFTools;
+using Prism.Commands;
+using Prism.Mvvm;
 using Prism.Services.Dialogs;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
 using System.Windows.Forms;
 using System.Xml.Linq;
-
-namespace PDF_Office.ViewModels.HomePanel
-{
-    public class HomeGuidContentViewModel:BindableBase
-    {
-        public IDialogService dialogs;
-        public DelegateCommand<ToolItem> QuickToolsCommand { get; set; }
-        public HomeGuidContentViewModel(IDialogService dialogService)
-        {
+
+namespace PDF_Office.ViewModels.HomePanel
+{
+    public class HomeGuidContentViewModel : BindableBase
+    {
+        public IDialogService dialogs;
+        public DelegateCommand<ToolItem> QuickToolsCommand { get; set; }
+        public HomeGuidContentViewModel(IDialogService dialogService)
+        {
             QuickToolsCommand = new DelegateCommand<ToolItem>(QuickTools_Click);
             dialogs = dialogService;
-        }
-
-        public void QuickTools_Click(ToolItem toolItem)
-        {
-           
-            
+        }
+
+        public void QuickTools_Click(ToolItem toolItem)
+        {
+
+
             /*
              *设置这个对话框的起始保存路径
              */
@@ -39,8 +39,8 @@ namespace PDF_Office.ViewModels.HomePanel
             dlg.Filter = "PDF|*.pdf;*.PDF;";
             if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
             {
-                CPDFViewer viewer=new CPDFViewer();
-                 viewer.InitDocument(dlg.FileName);
+                CPDFViewer viewer = new CPDFViewer();
+                viewer.InitDocument(dlg.FileName);
                 switch (toolItem.Tag)
                 {
                     case PDFToolType.Split:
@@ -50,45 +50,45 @@ namespace PDF_Office.ViewModels.HomePanel
                         splitvalue.Add(ParameterNames.FilePath, dlg.FileName);
                         dialogs.ShowDialog(DialogNames.HomePageSplitDialog, splitvalue, e => { });
                         break;
-
+
                     case PDFToolType.Extract:
                         DialogParameters extractvalue = new DialogParameters();
-                        extractvalue.Add(ParameterNames.PDFViewer, viewer); 
+                        extractvalue.Add(ParameterNames.PDFViewer, viewer);
                         extractvalue.Add(ParameterNames.FilePath, dlg.FileName);
                         dialogs.ShowDialog(DialogNames.HomePageExtractDialog, extractvalue, e => { });
                         break;
-
+
                     case PDFToolType.Insert:
                         DialogParameters insertvalue = new DialogParameters();
-                        insertvalue.Add(ParameterNames.PDFViewer, viewer); 
+                        insertvalue.Add(ParameterNames.PDFViewer, viewer);
                         insertvalue.Add(ParameterNames.FilePath, dlg.FileName);
                         dialogs.ShowDialog(DialogNames.HomePageInsertDialog, insertvalue, e => { });
                         break;
-
+
                     case PDFToolType.Compress:
                         break;
-
+
                     case PDFToolType.Merge:
                         break;
-
+
                     case PDFToolType.Print:
                         DialogParameters printvalue = new DialogParameters();
                         printvalue.Add(ParameterNames.PDFViewer, viewer); ;
                         printvalue.Add(ParameterNames.FilePath, dlg.FileName);
                         dialogs.ShowDialog(DialogNames.HomePagePrinterDialog, printvalue, e => { });
                         break;
-
+
                     case PDFToolType.Security:
                         break;
                 }
 
             }
-        }
-
-        private void Split_Click()
-        {
-
-        }
-
-    }
-}
+        }
+
+        private void Split_Click()
+        {
+
+        }
+
+    }
+}

+ 70 - 70
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageExtractDialog.xaml

@@ -1,70 +1,70 @@
-<UserControl x:Class="PDF_Office.Views.Dialog.MainPageToolsDialogs.MainPageExtractDialog"
-           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
-             xmlns:prism="http://prismlibrary.com/"             
-             prism:ViewModelLocator.AutoWireViewModel="True"
-              d:DesignHeight="404"
-             d:DesignWidth="490"
-             mc:Ignorable="d">
-    <Grid>
-        <Grid.RowDefinitions>
-            <RowDefinition Height="50"></RowDefinition>
-            <RowDefinition Height="*"></RowDefinition>
-            <RowDefinition Height="63"></RowDefinition>
-        </Grid.RowDefinitions>
-        <TextBlock Grid.Row="0" Text="提取" FontSize="20" FontWeight="ExtraBlack" VerticalAlignment="Center" HorizontalAlignment="Left"  Margin="20,0,0,0" Height="28" Width="120"/>
-        <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1,0,1" VerticalAlignment="Center" Height="291">
-            <Grid>
-                <Grid.ColumnDefinitions>
-                    <ColumnDefinition Width="1*"/>
-                    <ColumnDefinition Width="1*"/>
-                </Grid.ColumnDefinitions>
-				<Grid Grid.Column="0">
-                    <cus:PageTurningPreview x:Name="ExtractPreview" Loaded="PageTurningPreview_Loaded" ></cus:PageTurningPreview>
-                </Grid>
-                <Grid Grid.Column="1">
-                    <Grid.RowDefinitions>
-                        <RowDefinition Height="5*"/>
-                        <RowDefinition Height="5*"/>
-                    </Grid.RowDefinitions>
-                    <Grid Grid.Row="0">
-                        <StackPanel Orientation="Vertical" Margin="0,40,0,0">
-                            <TextBlock Text="页面范围" FontWeight="ExtraBlack" Width="56" Height="22" HorizontalAlignment="Left"/>
-                            <cus:WritableComboBox Width="208" Height="32" HorizontalAlignment="Left" Margin="0,20,0,0" Text="{Binding PageRangeText,Mode=TwoWay}" SelectedIndex="{Binding PageRangeSelectIndex,Mode=TwoWay}"></cus:WritableComboBox>
-                        </StackPanel>
-                    </Grid>
-                    <Grid Grid.Row="1">
-                        <StackPanel Orientation="Vertical">
-                            <TextBlock Text="页面范围" FontWeight="ExtraBlack" Width="56" Height="22" HorizontalAlignment="Left"/>
-                            <CheckBox Margin="0,20,0,0" Command="{Binding ExtractToSingleFileCommand}" IsChecked="{Binding ExtractToSingleFileIsCheck}">
-                                <TextBlock Text="每个页面作为单独页面"></TextBlock>
-                            </CheckBox>
-                            <CheckBox Margin="0,20,0,0" Command="{Binding DeleteAfterExtractCommand}" IsChecked="{Binding DeleteAfterExtractIsCheck}">
-                                <TextBlock Text="提取后删除页面"></TextBlock>
-                            </CheckBox>
-                        </StackPanel>
-                    </Grid>
-                </Grid>
-            </Grid>
-        </Border>
-        <Grid Grid.Row="2">
-            <Button
-                    Width="98"
-                    Height="32"
-                    Margin="0,0,124,0"
-                    HorizontalAlignment="Right"
-                    Command="{Binding ExtractCommand}"
-                    Content="提取" />
-            <Button
-                    Width="98"
-                    Height="32"
-                    Margin="16,0"
-                    HorizontalAlignment="Right"
-                    Command="{Binding CancelCommand}"
-                    Content="取消" />
-        </Grid>
-    </Grid>
-</UserControl>
+<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageExtractDialog"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
+             xmlns:prism="http://prismlibrary.com/"             
+             prism:ViewModelLocator.AutoWireViewModel="True"
+              d:DesignHeight="404"
+             d:DesignWidth="490"
+             mc:Ignorable="d">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="50"></RowDefinition>
+            <RowDefinition Height="*"></RowDefinition>
+            <RowDefinition Height="63"></RowDefinition>
+        </Grid.RowDefinitions>
+        <TextBlock Grid.Row="0" Text="提取" FontSize="20" FontWeight="ExtraBlack" VerticalAlignment="Center" HorizontalAlignment="Left"  Margin="20,0,0,0" Height="28" Width="120"/>
+        <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1,0,1" VerticalAlignment="Center" Height="291">
+            <Grid>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="1*"/>
+                    <ColumnDefinition Width="1*"/>
+                </Grid.ColumnDefinitions>
+                <Grid Grid.Column="0">
+                    <cus:PageTurningPreview x:Name="ExtractPreview" Loaded="PageTurningPreview_Loaded" ></cus:PageTurningPreview>
+                </Grid>
+                <Grid Grid.Column="1">
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="5*"/>
+                        <RowDefinition Height="5*"/>
+                    </Grid.RowDefinitions>
+                    <Grid Grid.Row="0">
+                        <StackPanel Orientation="Vertical" Margin="0,40,0,0">
+                            <TextBlock Text="页面范围" FontWeight="ExtraBlack" Width="56" Height="22" HorizontalAlignment="Left"/>
+                            <cus:WritableComboBox Width="208" Height="32" HorizontalAlignment="Left" Margin="0,20,0,0" Text="{Binding PageRangeText,Mode=TwoWay}" SelectedIndex="{Binding PageRangeSelectIndex,Mode=TwoWay}"></cus:WritableComboBox>
+                        </StackPanel>
+                    </Grid>
+                    <Grid Grid.Row="1">
+                        <StackPanel Orientation="Vertical">
+                            <TextBlock Text="页面范围" FontWeight="ExtraBlack" Width="56" Height="22" HorizontalAlignment="Left"/>
+                            <CheckBox Margin="0,20,0,0" Command="{Binding ExtractToSingleFileCommand}" IsChecked="{Binding ExtractToSingleFileIsCheck}">
+                                <TextBlock Text="每个页面作为单独页面"></TextBlock>
+                            </CheckBox>
+                            <CheckBox Margin="0,20,0,0" Command="{Binding DeleteAfterExtractCommand}" IsChecked="{Binding DeleteAfterExtractIsCheck}">
+                                <TextBlock Text="提取后删除页面"></TextBlock>
+                            </CheckBox>
+                        </StackPanel>
+                    </Grid>
+                </Grid>
+            </Grid>
+        </Border>
+        <Grid Grid.Row="2">
+            <Button
+                    Width="98"
+                    Height="32"
+                    Margin="0,0,124,0"
+                    HorizontalAlignment="Right"
+                    Command="{Binding ExtractCommand}"
+                    Content="提取" />
+            <Button
+                    Width="98"
+                    Height="32"
+                    Margin="16,0"
+                    HorizontalAlignment="Right"
+                    Command="{Binding CancelCommand}"
+                    Content="取消" />
+        </Grid>
+    </Grid>
+</UserControl>

+ 28 - 28
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageExtractDialog.xaml.cs

@@ -1,30 +1,30 @@
 using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
-{
-    /// <summary>
-    /// MainPageExtractDialog.xaml 的交互逻辑
-    /// </summary>
-    public partial class HomePageExtractDialog : UserControl
-    {
-        public HomePageExtractDialog()
-        {
-            InitializeComponent();
-        }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
+{
+    /// <summary>
+    /// MainPageExtractDialog.xaml 的交互逻辑
+    /// </summary>
+    public partial class HomePageExtractDialog : UserControl
+    {
+        public HomePageExtractDialog()
+        {
+            InitializeComponent();
+        }
 
         private void PageTurningPreview_Loaded(object sender, RoutedEventArgs e)
         {
@@ -33,5 +33,5 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
             ExtractPreview.PageIndex.Text = ExtractPreview.document.PageCount.ToString();
 
         }
-    }
-}
+    }
+}

+ 86 - 86
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageInsertDialog.xaml

@@ -1,86 +1,86 @@
-<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageInsertDialog"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             xmlns:prism="http://prismlibrary.com/"             
-             prism:ViewModelLocator.AutoWireViewModel="True"
-             d:DesignHeight="441"
-             d:DesignWidth="480"
-             mc:Ignorable="d">
-    <Grid>
-        <Grid.RowDefinitions>
-            <RowDefinition Height="48"></RowDefinition>
-            <RowDefinition Height="*"></RowDefinition>
-            <RowDefinition Height="64"></RowDefinition>
-        </Grid.RowDefinitions>
-        <TextBlock Grid.Row="0" Text="插入" FontSize="20" FontWeight="ExtraBlack" VerticalAlignment="Center" HorizontalAlignment="Left"  Margin="20,0,0,0" Height="28" Width="120"/>
-        <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1,0,1" VerticalAlignment="Center" Height="329">
-            <Grid>
-                <Grid.ColumnDefinitions>
-                    <ColumnDefinition Width="3*"/>
-                    <ColumnDefinition Width="4*"/>
-                </Grid.ColumnDefinitions>
-                <Grid Grid.Column="0">
-                    <cus:PageTurningPreview x:Name="InsertPreview" Loaded="PageTurningPreview_Loaded"></cus:PageTurningPreview>
-                </Grid>
-                <Grid Grid.Column="1" Margin="7,27,13,40">
-                    <Grid.RowDefinitions>
-                        <RowDefinition></RowDefinition>
-                        <RowDefinition></RowDefinition>
-                        <RowDefinition></RowDefinition>
-                    </Grid.RowDefinitions>
-                    <StackPanel Grid.Row="0" Orientation="Vertical">
-                        <TextBlock Text="插入文件"></TextBlock>
-                        <StackPanel Orientation="Horizontal">
-                            <TextBox Height="32" Width="198" Margin="0,0,4,0" VerticalContentAlignment="Center" Text="{Binding SelectFilePath}" Padding="16,0,6,0"></TextBox>
-                            <Button Height="32" Width="56" Content="选择" Command="{Binding SelectFileCommand}"></Button>
-                        </StackPanel>
-                    </StackPanel>
-                    <Grid Grid.Row="1"></Grid>
-                    <StackPanel Grid.Row="1" Orientation="Vertical">
-                        <TextBlock Text="插入位置" Height="22" Width="56" HorizontalAlignment="Left"></TextBlock>
-                        <StackPanel Orientation="Horizontal" Margin="0,12,0,0">
-                            <RadioButton x:Name="FirstIsCheckRadioButton"  Margin="0,0,64,0" IsChecked="{Binding FirstIsCheck}" Command="{Binding FirstPageCommand}">
-                                <TextBlock Text="第一页" Margin="12,0,0,0"></TextBlock>
-                            </RadioButton>
-                            <RadioButton x:Name="LastIsCheckRadioButton" IsChecked="{Binding LastIsCheck}" Command="{Binding LastPageCommand}">
-                                <TextBlock Text="最后一页" Margin="12,0,0,0"></TextBlock>
-                            </RadioButton>
-                        </StackPanel>
-                    </StackPanel>
-                    <StackPanel Grid.Row="2" Orientation="Vertical">
-                        <StackPanel Orientation="Horizontal">
-                            <RadioButton x:Name="CustomIsCheckRadioButton" VerticalAlignment="Center" IsChecked="{Binding CustomIsCheck}" Command="{Binding CustomPageCommand}"></RadioButton>
-                            <TextBlock Text="页面" VerticalAlignment="Center"  Margin="12,0,0,0"></TextBlock>
-                            <TextBox Name="PageInsertIndexTextBox" Height="32" Width="100" Text="{Binding PageInsertIndex}" InputMethod.IsInputMethodEnabled="False"  PreviewTextInput="CountTextBox_PreviewTextInput" IsEnabled="{Binding CustomIsEnabled}" TextChanged="PageInsertIndexTextBox_TextChanged"></TextBox>
-                            <TextBlock Text="/" VerticalAlignment="Center"></TextBlock>
-                            <TextBlock Name="PageCountText" Text="{Binding PageNumber}" VerticalAlignment="Center"></TextBlock>
-                        </StackPanel>
-                        <ComboBox Margin="28,7,13,0" SelectedIndex="{Binding PageLocation}">
-                            <ComboBoxItem Content="之后"></ComboBoxItem>
-                            <ComboBoxItem Content="之前"></ComboBoxItem>
-                        </ComboBox>
-                    </StackPanel>
-                </Grid>
-            </Grid>
-        </Border>
-        <Grid Grid.Row="2">
-            <Button
-                    Width="98"
-                    Height="32"
-                    Margin="16,0"
-                    HorizontalAlignment="Right"
-                    Command="{Binding CancelCommand}"
-                    Content="取消" />
-            <Button
-                    Width="98"
-                    Height="32"
-                    Margin="124,0"
-                    HorizontalAlignment="Right"
-                    Command="{Binding InsertCommand}"
-                    Content="插入" />
-        </Grid>
-    </Grid>
-</UserControl>
+<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageInsertDialog"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             xmlns:prism="http://prismlibrary.com/"             
+             prism:ViewModelLocator.AutoWireViewModel="True"
+             d:DesignHeight="441"
+             d:DesignWidth="600"
+             mc:Ignorable="d">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="48"></RowDefinition>
+            <RowDefinition Height="*"></RowDefinition>
+            <RowDefinition Height="64"></RowDefinition>
+        </Grid.RowDefinitions>
+        <TextBlock Grid.Row="0" Text="插入" FontSize="20" FontWeight="ExtraBlack" VerticalAlignment="Center" HorizontalAlignment="Left"  Margin="20,0,0,0" Height="28" Width="120"/>
+        <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1,0,1" VerticalAlignment="Center" Height="329">
+            <Grid>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="3*"/>
+                    <ColumnDefinition Width="4*"/>
+                </Grid.ColumnDefinitions>
+                <Grid Grid.Column="0">
+                    <cus:PageTurningPreview x:Name="InsertPreview" Loaded="PageTurningPreview_Loaded"></cus:PageTurningPreview>
+                </Grid>
+                <Grid Grid.Column="1" Margin="7,27,13,40">
+                    <Grid.RowDefinitions>
+                        <RowDefinition></RowDefinition>
+                        <RowDefinition></RowDefinition>
+                        <RowDefinition></RowDefinition>
+                    </Grid.RowDefinitions>
+                    <StackPanel Grid.Row="0" Orientation="Vertical">
+                        <TextBlock Text="插入文件"></TextBlock>
+                        <StackPanel Orientation="Horizontal">
+                            <TextBox Height="32" Width="198" Margin="0,0,4,0" VerticalContentAlignment="Center" Text="{Binding SelectFilePath}" Padding="16,0,6,0"></TextBox>
+                            <Button Height="32" Width="56" Content="选择" Command="{Binding SelectFileCommand}"></Button>
+                        </StackPanel>
+                    </StackPanel>
+                    <Grid Grid.Row="1"></Grid>
+                    <StackPanel Grid.Row="1" Orientation="Vertical">
+                        <TextBlock Text="插入位置" Height="22" Width="56" HorizontalAlignment="Left"></TextBlock>
+                        <StackPanel Orientation="Horizontal" Margin="0,12,0,0">
+                            <RadioButton x:Name="FirstIsCheckRadioButton"  Margin="0,0,64,0" IsChecked="{Binding FirstIsCheck}" Command="{Binding FirstPageCommand}">
+                                <TextBlock Text="第一页" Margin="12,0,0,0"></TextBlock>
+                            </RadioButton>
+                            <RadioButton x:Name="LastIsCheckRadioButton" IsChecked="{Binding LastIsCheck}" Command="{Binding LastPageCommand}">
+                                <TextBlock Text="最后一页" Margin="12,0,0,0"></TextBlock>
+                            </RadioButton>
+                        </StackPanel>
+                    </StackPanel>
+                    <StackPanel Grid.Row="2" Orientation="Vertical">
+                        <StackPanel Orientation="Horizontal">
+                            <RadioButton x:Name="CustomIsCheckRadioButton" VerticalAlignment="Center" IsChecked="{Binding CustomIsCheck}" Command="{Binding CustomPageCommand}"></RadioButton>
+                            <TextBlock Text="页面" VerticalAlignment="Center"  Margin="12,0,0,0"></TextBlock>
+                            <TextBox Name="PageInsertIndexTextBox" Height="32" Width="100" Text="{Binding PageInsertIndex}" InputMethod.IsInputMethodEnabled="False"  PreviewTextInput="CountTextBox_PreviewTextInput" IsEnabled="{Binding CustomIsEnabled}" TextChanged="PageInsertIndexTextBox_TextChanged"></TextBox>
+                            <TextBlock Text="/" VerticalAlignment="Center"></TextBlock>
+                            <TextBlock Name="PageCountText" Text="{Binding PageNumber}" VerticalAlignment="Center"></TextBlock>
+                        </StackPanel>
+                        <ComboBox Margin="28,7,13,0" SelectedIndex="{Binding PageLocation}">
+                            <ComboBoxItem Content="之后"></ComboBoxItem>
+                            <ComboBoxItem Content="之前"></ComboBoxItem>
+                        </ComboBox>
+                    </StackPanel>
+                </Grid>
+            </Grid>
+        </Border>
+        <Grid Grid.Row="2">
+            <Button
+                    Width="98"
+                    Height="32"
+                    Margin="16,0"
+                    HorizontalAlignment="Right"
+                    Command="{Binding CancelCommand}"
+                    Content="取消" />
+            <Button
+                    Width="98"
+                    Height="32"
+                    Margin="124,0"
+                    HorizontalAlignment="Right"
+                    Command="{Binding InsertCommand}"
+                    Content="插入" />
+        </Grid>
+    </Grid>
+</UserControl>

+ 36 - 35
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageInsertDialog.xaml.cs

@@ -1,46 +1,47 @@
 using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
 using System.Text.RegularExpressions;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
-{
-    /// <summary>
-    /// MainPageInsertDialog.xaml 的交互逻辑
-    /// </summary>
-    public partial class HomePageInsertDialog : UserControl
-    {
-        public HomePageInsertDialog()
-        {
-            InitializeComponent();
-        }
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
+{
+    /// <summary>
+    /// MainPageInsertDialog.xaml 的交互逻辑
+    /// </summary>
+    public partial class HomePageInsertDialog : UserControl
+    {
+        public HomePageInsertDialog()
+        {
+            InitializeComponent();
+        }
 
         private void PageInsertIndexTextBox_TextChanged(object sender, TextChangedEventArgs e)
         {
-            if (this.PageInsertIndexTextBox.Text=="" || int.Parse(this.PageInsertIndexTextBox.Text) < 1)
+            if (this.PageInsertIndexTextBox.Text == "" || int.Parse(this.PageInsertIndexTextBox.Text) < 1)
             {
                 this.PageInsertIndexTextBox.Text = "1";
             }
-            if (this.PageCountText!= null) { 
-            if (int.Parse(this.PageInsertIndexTextBox.Text) > int.Parse(this.PageCountText.Text))
+            if (this.PageCountText != null)
             {
-                this.PageInsertIndexTextBox.Text = this.PageCountText.Text;
+                if (int.Parse(this.PageInsertIndexTextBox.Text) > int.Parse(this.PageCountText.Text))
+                {
+                    this.PageInsertIndexTextBox.Text = this.PageCountText.Text;
+                }
             }
-            }
-           
-            ((HomePageInsertDialogViewModel)this.DataContext).PageInsertIndex =this.PageInsertIndexTextBox.Text;
+
+            ((HomePageInsertDialogViewModel)this.DataContext).PageInsertIndex = this.PageInsertIndexTextBox.Text;
 
         }
         private void CountTextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
@@ -54,5 +55,5 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
             InsertPreview.AwaitRenderBitmap(InsertPreview.document);
             InsertPreview.PageIndex.Text = InsertPreview.document.PageCount.ToString();
         }
-    }
-}
+    }
+}

+ 138 - 138
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterDialog.xaml

@@ -1,139 +1,139 @@
-<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterDialog"
-           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
-             xmlns:prism="http://prismlibrary.com/"             
-             prism:ViewModelLocator.AutoWireViewModel="True" 
-              d:DesignHeight="650"
-             d:DesignWidth="903"
-             mc:Ignorable="d">
-    <Grid>
-        <Grid.RowDefinitions>
-            <RowDefinition Height="50"></RowDefinition>
-            <RowDefinition Height="*"></RowDefinition>
-            <RowDefinition Height="63"></RowDefinition>
-        </Grid.RowDefinitions>
-        <TextBlock Grid.Row="0" Text="打印" FontSize="20" FontWeight="ExtraBlack" VerticalAlignment="Center" HorizontalAlignment="Left"  Margin="20,0,0,0" Height="28" Width="120"/>
-        <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1,0,1" VerticalAlignment="Center" Height="537">
-            <Grid>
-                <Grid.ColumnDefinitions>
-                    <ColumnDefinition Width="2*"/>
-                    <ColumnDefinition Width="4*"/>
-                </Grid.ColumnDefinitions>
-                <Grid Grid.Column="0">
-                    <Border Height="430" Width="269"  Background="LightGray" HorizontalAlignment="Center" VerticalAlignment="Center">
-                        <Viewbox Width="210" Height="297" Margin="0,36,0,0">
-                            <Image  Name="Image"></Image>
-                        </Viewbox>
-                    </Border>
-                    <StackPanel Orientation="Horizontal"  Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Bottom">
-                        <Button Name="PrePage"   Width="20" Height="20" HorizontalAlignment="Left" FontSize="16" Background="WhiteSmoke" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
-                            <TextBlock Text="&lt;" VerticalAlignment="Center"></TextBlock>
-                        </Button>
-                        <TextBox x:Name="CurrentPage" Width="30" Height="25" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10,0,5,0" Text="1"  ></TextBox>
-                        <TextBlock  Text="of"  HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0"></TextBlock>
-                        <TextBlock x:Name="PageIndex"  HorizontalAlignment="Left" VerticalAlignment="Center" Margin="5"></TextBlock>
-                        <Button Name="NextPage"  Width="20" Height="20" HorizontalAlignment="Left" FontSize="16"  Background="WhiteSmoke"  HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
-                            <TextBlock Text=">" VerticalAlignment="Center"></TextBlock>
-                        </Button>
-                    </StackPanel>
-                </Grid>
-                <Grid Grid.Column="1">
-                    <Grid.RowDefinitions>
-                        <RowDefinition Height="1.2*"/>
-                        <RowDefinition Height="0.9*"/>
-                        <RowDefinition Height="2*"/>
-                    </Grid.RowDefinitions>
-                    <Grid Grid.Row="0">
-                        <StackPanel Orientation="Vertical">
-                            <StackPanel Orientation="Horizontal" Margin="0,60,0,0">
-                                <StackPanel Orientation="Horizontal">
-                                    <TextBlock Text="打印机: " Height="20" Width="56" ></TextBlock>
-                                    <ComboBox Width="277" Height="32" Margin="8,0,0,0" ItemsSource="{Binding PrinterNameList}" SelectedIndex="0"></ComboBox>
-                                </StackPanel>
-                                <Button Content="页面设置" Height="32" Width="91" Margin="31,0,0,0"/>
-                            </StackPanel>
-                            <StackPanel Orientation="Horizontal" Margin="0,19,0,0">
-                                <StackPanel Orientation="Horizontal">
-                                    <TextBlock Text="预置: " Height="20" Width="42"></TextBlock>
-                                    <ComboBox Width="139" Height="32" Margin="22,0,0,0"></ComboBox>
-                                </StackPanel>
-                                <StackPanel Orientation="Horizontal" Margin="28,0,0,0">
-                                    <TextBlock Height="20" Width="42" Text="份数: "></TextBlock>
-                                    <cus:NumericUpDown Height="32" Width="76" Margin="15,0,0,0" ></cus:NumericUpDown>
-                                </StackPanel>
-                                <CheckBox VerticalAlignment="Center" Margin="27,0,0,0">
-                                    <TextBlock Text="黑白色"/>
-                                </CheckBox>
-                                <CheckBox VerticalAlignment="Center" Margin="27,0,0,0">
-                                    <TextBlock Text="双面打印"/>
-                                </CheckBox>
-                            </StackPanel>
-                        </StackPanel>
-                    </Grid>
-                    <Grid Grid.Row="1">
-                        <StackPanel Orientation="Vertical">
-                            <TextBlock Text="打印设置" FontWeight="ExtraBlack"/>
-                            <StackPanel Orientation="Horizontal" Margin="0,10,0,0">
-                                <StackPanel Orientation="Horizontal">
-                                    <TextBlock Text="页面范围: " Height="20" Width="70"></TextBlock>
-                                    <cus:WritableComboBox Width="190" Height="32" Margin="10,0,0,0"></cus:WritableComboBox>
-                                </StackPanel>
-                                <StackPanel Orientation="Horizontal" Margin="35,0,0,0">
-                                    <TextBlock Text="打印方向: " Height="20" Width="70"></TextBlock>
-                                    <ComboBox Width="190" Height="32" Margin="10,0,0,0" ItemsSource="{Binding PrintDirectionList}" SelectedIndex="0"></ComboBox>
-                                </StackPanel>
-                            </StackPanel>
-                            <StackPanel Orientation="Horizontal" Margin="0,12,0,0">
-                                <StackPanel Orientation="Horizontal">
-                                    <TextBlock Text="打印内容: " Height="20" Width="70"></TextBlock>
-                                    <ComboBox Width="190" Height="32" Margin="10,0,0,0" ItemsSource="{Binding PrintContentList}" SelectedIndex="0"></ComboBox>
-                                </StackPanel>
-                                <CheckBox  Margin="35,0,0,0" VerticalAlignment="Center">
-                                    <TextBlock Text="逆页序打印"/>
-                                </CheckBox>
-                            </StackPanel>
-                        </StackPanel>
-                    </Grid>
-                    <Grid Grid.Row="2">
-                        <StackPanel Height="auto" Orientation="Vertical">
-                            <StackPanel Orientation="Horizontal">
-                                <TextBlock Text="调整页面大小和处理页面" FontWeight="ExtraBlack"/>
-                                <Button  Content="?" FontSize="6" Width="16" Height="16" Margin="7,0,0,0"></Button>
-                            </StackPanel>
-                            <StackPanel Orientation="Horizontal" Margin="0,10,0,0">
-                                <Button Name="ModSize" Background="WhiteSmoke" Width="126" Height="32" Margin="8,0,25,0" Command="{Binding DelegateChangePrintModCommand}" CommandParameter="{Binding ElementName=ModSize}">
-                                    <Border>
-                                        <TextBlock Text="大小"></TextBlock>
-                                    </Border>
-                                </Button>
-                                <Button Name="ModPoster" Background="WhiteSmoke" Width="126" Height="32" Margin="0,0,25,0" Command="{Binding DelegateChangePrintModCommand}" CommandParameter="{Binding ElementName=ModPoster}">
-                                    <Border>
-                                        <TextBlock Text="海报"></TextBlock>
-                                    </Border>
-                                </Button>
-                                <Button Name="ModMutiple" Background="WhiteSmoke" Width="126" Height="32" Margin="0,0,25,0" Command="{Binding DelegateChangePrintModCommand}" CommandParameter="{Binding ElementName=ModMutiple}">
-                                    <Border>
-                                        <TextBlock Text="多页"></TextBlock>
-                                    </Border>
-                                </Button>
-                                <Button Name="ModBooklet" Background="WhiteSmoke" Width="126" Height="32" Margin="0,0,10,0" Command="{Binding DelegateChangePrintModCommand}" CommandParameter="{Binding ElementName=ModBooklet}">
-                                    <Border>
-                                        <TextBlock Text="小册子"></TextBlock>
-                                    </Border>
-                                </Button>
-                            </StackPanel>
-                            <StackPanel>
-                                <Grid>
-                                    <ContentControl Height="180" Margin="12" x:Name="PrintMod" prism:RegionManager.RegionName="{Binding PrintModRegionName}"   Visibility="{Binding PrintModVisible}"/>
-                                </Grid>
-                            </StackPanel>
-                        </StackPanel>
-                    </Grid>
-                </Grid>
-            </Grid>
-        </Border>
-    </Grid>
+<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterDialog"
+           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
+             xmlns:prism="http://prismlibrary.com/"             
+             prism:ViewModelLocator.AutoWireViewModel="True" 
+              d:DesignHeight="650"
+             d:DesignWidth="903"
+             mc:Ignorable="d">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="50"></RowDefinition>
+            <RowDefinition Height="*"></RowDefinition>
+            <RowDefinition Height="63"></RowDefinition>
+        </Grid.RowDefinitions>
+        <TextBlock Grid.Row="0" Text="打印" FontSize="20" FontWeight="ExtraBlack" VerticalAlignment="Center" HorizontalAlignment="Left"  Margin="20,0,0,0" Height="28" Width="120"/>
+        <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1,0,1" VerticalAlignment="Center" Height="537">
+            <Grid>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="2*"/>
+                    <ColumnDefinition Width="4*"/>
+                </Grid.ColumnDefinitions>
+                <Grid Grid.Column="0">
+                    <Border Height="430" Width="269"  Background="LightGray" HorizontalAlignment="Center" VerticalAlignment="Center">
+                        <Viewbox Width="210" Height="297" Margin="0,36,0,0">
+                            <Image  Name="Image"></Image>
+                        </Viewbox>
+                    </Border>
+                    <StackPanel Orientation="Horizontal"  Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Bottom">
+                        <Button Name="PrePage"   Width="20" Height="20" HorizontalAlignment="Left" FontSize="16" Background="WhiteSmoke" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
+                            <TextBlock Text="&lt;" VerticalAlignment="Center"></TextBlock>
+                        </Button>
+                        <TextBox x:Name="CurrentPage" Width="30" Height="25" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10,0,5,0" Text="1"  ></TextBox>
+                        <TextBlock  Text="of"  HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0"></TextBlock>
+                        <TextBlock x:Name="PageIndex"  HorizontalAlignment="Left" VerticalAlignment="Center" Margin="5"></TextBlock>
+                        <Button Name="NextPage"  Width="20" Height="20" HorizontalAlignment="Left" FontSize="16"  Background="WhiteSmoke"  HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
+                            <TextBlock Text=">" VerticalAlignment="Center"></TextBlock>
+                        </Button>
+                    </StackPanel>
+                </Grid>
+                <Grid Grid.Column="1">
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="1.2*"/>
+                        <RowDefinition Height="0.9*"/>
+                        <RowDefinition Height="2*"/>
+                    </Grid.RowDefinitions>
+                    <Grid Grid.Row="0">
+                        <StackPanel Orientation="Vertical">
+                            <StackPanel Orientation="Horizontal" Margin="0,60,0,0">
+                                <StackPanel Orientation="Horizontal">
+                                    <TextBlock Text="打印机: " Height="20" Width="56" ></TextBlock>
+                                    <ComboBox Width="277" Height="32" Margin="8,0,0,0" ItemsSource="{Binding PrinterNameList}" SelectedIndex="0"></ComboBox>
+                                </StackPanel>
+                                <Button Content="页面设置" Height="32" Width="91" Margin="31,0,0,0"/>
+                            </StackPanel>
+                            <StackPanel Orientation="Horizontal" Margin="0,19,0,0">
+                                <StackPanel Orientation="Horizontal">
+                                    <TextBlock Text="预置: " Height="20" Width="42"></TextBlock>
+                                    <ComboBox Width="139" Height="32" Margin="22,0,0,0"></ComboBox>
+                                </StackPanel>
+                                <StackPanel Orientation="Horizontal" Margin="28,0,0,0">
+                                    <TextBlock Height="20" Width="42" Text="份数: "></TextBlock>
+                                    <cus:NumericUpDown Height="32" Width="76" Margin="15,0,0,0" ></cus:NumericUpDown>
+                                </StackPanel>
+                                <CheckBox VerticalAlignment="Center" Margin="27,0,0,0">
+                                    <TextBlock Text="黑白色"/>
+                                </CheckBox>
+                                <CheckBox VerticalAlignment="Center" Margin="27,0,0,0">
+                                    <TextBlock Text="双面打印"/>
+                                </CheckBox>
+                            </StackPanel>
+                        </StackPanel>
+                    </Grid>
+                    <Grid Grid.Row="1">
+                        <StackPanel Orientation="Vertical">
+                            <TextBlock Text="打印设置" FontWeight="ExtraBlack"/>
+                            <StackPanel Orientation="Horizontal" Margin="0,10,0,0">
+                                <StackPanel Orientation="Horizontal">
+                                    <TextBlock Text="页面范围: " Height="20" Width="70"></TextBlock>
+                                    <cus:WritableComboBox Width="190" Height="32" Margin="10,0,0,0"></cus:WritableComboBox>
+                                </StackPanel>
+                                <StackPanel Orientation="Horizontal" Margin="35,0,0,0">
+                                    <TextBlock Text="打印方向: " Height="20" Width="70"></TextBlock>
+                                    <ComboBox Width="190" Height="32" Margin="10,0,0,0" ItemsSource="{Binding PrintDirectionList}" SelectedIndex="0"></ComboBox>
+                                </StackPanel>
+                            </StackPanel>
+                            <StackPanel Orientation="Horizontal" Margin="0,12,0,0">
+                                <StackPanel Orientation="Horizontal">
+                                    <TextBlock Text="打印内容: " Height="20" Width="70"></TextBlock>
+                                    <ComboBox Width="190" Height="32" Margin="10,0,0,0" ItemsSource="{Binding PrintContentList}" SelectedIndex="0"></ComboBox>
+                                </StackPanel>
+                                <CheckBox  Margin="35,0,0,0" VerticalAlignment="Center">
+                                    <TextBlock Text="逆页序打印"/>
+                                </CheckBox>
+                            </StackPanel>
+                        </StackPanel>
+                    </Grid>
+                    <Grid Grid.Row="2">
+                        <StackPanel Height="auto" Orientation="Vertical">
+                            <StackPanel Orientation="Horizontal">
+                                <TextBlock Text="调整页面大小和处理页面" FontWeight="ExtraBlack"/>
+                                <Button  Content="?" FontSize="6" Width="16" Height="16" Margin="7,0,0,0"></Button>
+                            </StackPanel>
+                            <StackPanel Orientation="Horizontal" Margin="0,10,0,0">
+                                <Button Name="ModSize" Background="WhiteSmoke" Width="126" Height="32" Margin="8,0,25,0" Command="{Binding DelegateChangePrintModCommand}" CommandParameter="{Binding ElementName=ModSize}">
+                                    <Border>
+                                        <TextBlock Text="大小"></TextBlock>
+                                    </Border>
+                                </Button>
+                                <Button Name="ModPoster" Background="WhiteSmoke" Width="126" Height="32" Margin="0,0,25,0" Command="{Binding DelegateChangePrintModCommand}" CommandParameter="{Binding ElementName=ModPoster}">
+                                    <Border>
+                                        <TextBlock Text="海报"></TextBlock>
+                                    </Border>
+                                </Button>
+                                <Button Name="ModMutiple" Background="WhiteSmoke" Width="126" Height="32" Margin="0,0,25,0" Command="{Binding DelegateChangePrintModCommand}" CommandParameter="{Binding ElementName=ModMutiple}">
+                                    <Border>
+                                        <TextBlock Text="多页"></TextBlock>
+                                    </Border>
+                                </Button>
+                                <Button Name="ModBooklet" Background="WhiteSmoke" Width="126" Height="32" Margin="0,0,10,0" Command="{Binding DelegateChangePrintModCommand}" CommandParameter="{Binding ElementName=ModBooklet}">
+                                    <Border>
+                                        <TextBlock Text="小册子"></TextBlock>
+                                    </Border>
+                                </Button>
+                            </StackPanel>
+                            <StackPanel>
+                                <Grid>
+                                    <ContentControl Height="180" Margin="12" x:Name="PrintMod" prism:RegionManager.RegionName="{Binding PrintModRegionName}"   Visibility="{Binding PrintModVisible}"/>
+                                </Grid>
+                            </StackPanel>
+                        </StackPanel>
+                    </Grid>
+                </Grid>
+            </Grid>
+        </Border>
+    </Grid>
 </UserControl>

+ 37 - 37
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModBookletContent.xaml

@@ -1,37 +1,37 @@
-<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterModBookletContent"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:prism="http://prismlibrary.com/"             
-             prism:ViewModelLocator.AutoWireViewModel="True"
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             mc:Ignorable="d"
-             d:DesignHeight="180"
-             d:DesignWidth="600">
-    <Grid Height="160"  VerticalAlignment="Top">
-        <Grid.RowDefinitions>
-            <RowDefinition Height="1*"></RowDefinition>
-            <RowDefinition Height="1*"></RowDefinition>
-            <RowDefinition Height="1*"></RowDefinition>
-            <RowDefinition Height="1*"></RowDefinition>
-        </Grid.RowDefinitions>
-        <StackPanel Grid.Row="0" Orientation="Horizontal">
-            <TextBlock Text="小册子子集:" VerticalAlignment="Center" Margin="0,0,47,0"></TextBlock>
-            <ComboBox Height="32" Width="265"></ComboBox>
-        </StackPanel>
-        <StackPanel Grid.Row="1" Orientation="Horizontal">
-            <TextBlock Text="页面,从:" VerticalAlignment="Center" Margin="0,0,58,0"></TextBlock>
-            <TextBox Height="32" Width="50"  HorizontalContentAlignment="Center" VerticalContentAlignment="Center"></TextBox>
-            <TextBlock Text="至" VerticalAlignment="Center" Margin="10,0,5,0"></TextBlock>
-            <TextBox Height="32" Width="50" ></TextBox>
-        </StackPanel>
-        <StackPanel Grid.Row="2" Orientation="Horizontal">
-            <TextBlock Text="装订:" VerticalAlignment="Center" Margin="0,0,84,0"></TextBlock>
-            <ComboBox Height="32" Width="265"></ComboBox>
-        </StackPanel>
-        <StackPanel Grid.Row="3" Orientation="Horizontal">
-            <CheckBox VerticalAlignment="Center"></CheckBox>
-            <TextBlock Text="自动旋转每张纸中的页面" VerticalAlignment="Center" Margin="11,0,0,0"></TextBlock>
-        </StackPanel>
-    </Grid>
-</UserControl>
+<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterModBookletContent"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:prism="http://prismlibrary.com/"             
+             prism:ViewModelLocator.AutoWireViewModel="True"
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             mc:Ignorable="d"
+             d:DesignHeight="180"
+             d:DesignWidth="600">
+    <Grid Height="160"  VerticalAlignment="Top">
+        <Grid.RowDefinitions>
+            <RowDefinition Height="1*"></RowDefinition>
+            <RowDefinition Height="1*"></RowDefinition>
+            <RowDefinition Height="1*"></RowDefinition>
+            <RowDefinition Height="1*"></RowDefinition>
+        </Grid.RowDefinitions>
+        <StackPanel Grid.Row="0" Orientation="Horizontal">
+            <TextBlock Text="小册子子集:" VerticalAlignment="Center" Margin="0,0,47,0"></TextBlock>
+            <ComboBox Height="32" Width="265"></ComboBox>
+        </StackPanel>
+        <StackPanel Grid.Row="1" Orientation="Horizontal">
+            <TextBlock Text="页面,从:" VerticalAlignment="Center" Margin="0,0,58,0"></TextBlock>
+            <TextBox Height="32" Width="50"  HorizontalContentAlignment="Center" VerticalContentAlignment="Center"></TextBox>
+            <TextBlock Text="至" VerticalAlignment="Center" Margin="10,0,5,0"></TextBlock>
+            <TextBox Height="32" Width="50" ></TextBox>
+        </StackPanel>
+        <StackPanel Grid.Row="2" Orientation="Horizontal">
+            <TextBlock Text="装订:" VerticalAlignment="Center" Margin="0,0,84,0"></TextBlock>
+            <ComboBox Height="32" Width="265"></ComboBox>
+        </StackPanel>
+        <StackPanel Grid.Row="3" Orientation="Horizontal">
+            <CheckBox VerticalAlignment="Center"></CheckBox>
+            <TextBlock Text="自动旋转每张纸中的页面" VerticalAlignment="Center" Margin="11,0,0,0"></TextBlock>
+        </StackPanel>
+    </Grid>
+</UserControl>

+ 34 - 34
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModMutipleContent.xaml

@@ -1,34 +1,34 @@
-<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterModMutipleContent"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:prism="http://prismlibrary.com/"             
-             prism:ViewModelLocator.AutoWireViewModel="True"
-             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
-              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             mc:Ignorable="d"
-             d:DesignHeight="180"
-             d:DesignWidth="600">
-    <Grid Height="120"  VerticalAlignment="Top">
-        <Grid.RowDefinitions>
-            <RowDefinition Height="1*"></RowDefinition>
-            <RowDefinition Height="1*"></RowDefinition>
-            <RowDefinition Height="1*"></RowDefinition>
-        </Grid.RowDefinitions>
-        <StackPanel Grid.Row="0" Orientation="Horizontal">
-            <TextBlock Text="每张纸显示的页数:" VerticalAlignment="Center" Margin="0,0,5,0"></TextBlock>
-            <cus:WritableComboBox Height="32" Width="113"></cus:WritableComboBox>
-            <TextBox Height="32" Width="53" Margin="16,0,11,0"></TextBox>
-            <TextBlock Text="X" VerticalAlignment="Center"></TextBlock>
-            <TextBox Height="32" Width="53"  Margin="11,0,0,0"></TextBox>
-        </StackPanel>
-        <StackPanel Grid.Row="1" Orientation="Horizontal">
-            <TextBlock Text="页面顺序:" VerticalAlignment="Center" Margin="0,0,61,0"></TextBlock>
-            <ComboBox Height="32" Width="265"></ComboBox>
-        </StackPanel>
-        <StackPanel Grid.Row="2" Orientation="Horizontal">
-            <CheckBox VerticalAlignment="Center"></CheckBox>
-            <TextBlock VerticalAlignment="Center" Margin="11" Text="自动旋转每张纸中的页面"></TextBlock>
-        </StackPanel>
-    </Grid>
-</UserControl>
+<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterModMutipleContent"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:prism="http://prismlibrary.com/"             
+             prism:ViewModelLocator.AutoWireViewModel="True"
+             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
+              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             mc:Ignorable="d"
+             d:DesignHeight="180"
+             d:DesignWidth="600">
+    <Grid Height="120"  VerticalAlignment="Top">
+        <Grid.RowDefinitions>
+            <RowDefinition Height="1*"></RowDefinition>
+            <RowDefinition Height="1*"></RowDefinition>
+            <RowDefinition Height="1*"></RowDefinition>
+        </Grid.RowDefinitions>
+        <StackPanel Grid.Row="0" Orientation="Horizontal">
+            <TextBlock Text="每张纸显示的页数:" VerticalAlignment="Center" Margin="0,0,5,0"></TextBlock>
+            <cus:WritableComboBox Height="32" Width="113"></cus:WritableComboBox>
+            <TextBox Height="32" Width="53" Margin="16,0,11,0"></TextBox>
+            <TextBlock Text="X" VerticalAlignment="Center"></TextBlock>
+            <TextBox Height="32" Width="53"  Margin="11,0,0,0"></TextBox>
+        </StackPanel>
+        <StackPanel Grid.Row="1" Orientation="Horizontal">
+            <TextBlock Text="页面顺序:" VerticalAlignment="Center" Margin="0,0,61,0"></TextBlock>
+            <ComboBox Height="32" Width="265"></ComboBox>
+        </StackPanel>
+        <StackPanel Grid.Row="2" Orientation="Horizontal">
+            <CheckBox VerticalAlignment="Center"></CheckBox>
+            <TextBlock VerticalAlignment="Center" Margin="11" Text="自动旋转每张纸中的页面"></TextBlock>
+        </StackPanel>
+    </Grid>
+</UserControl>

+ 63 - 63
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModPosterContent.xaml

@@ -1,63 +1,63 @@
-<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterModPosterContent"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:prism="http://prismlibrary.com/"             
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             mc:Ignorable="d"
-             d:DesignHeight="180"
-             d:DesignWidth="600"
-             prism:ViewModelLocator.AutoWireViewModel="True">
-    <Grid Height="160"  VerticalAlignment="Top">
-        <Grid.RowDefinitions>
-            <RowDefinition></RowDefinition>
-            <RowDefinition></RowDefinition>
-            <RowDefinition></RowDefinition>
-            <RowDefinition></RowDefinition>
-        </Grid.RowDefinitions>
-        <Grid Grid.Row="0" HorizontalAlignment="Left"  Width="600">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="1*"></ColumnDefinition>
-                <ColumnDefinition Width="1*"></ColumnDefinition>
-            </Grid.ColumnDefinitions>
-            <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
-                <RadioButton Name="Tile" Content="平铺"></RadioButton>
-                <RadioButton Name="Split" Content="拆分"></RadioButton>
-            </StackPanel>
-            <Grid Grid.Column="1">
-                <StackPanel Orientation="Horizontal" Visibility="Collapsed">
-                    <TextBlock Text="平铺百分比:" VerticalAlignment="Center"></TextBlock>
-                    <TextBox Height="32" Width="52"></TextBox>
-                    <TextBlock Text="%" VerticalAlignment="Center"></TextBlock>
-                </StackPanel>
-                <StackPanel Orientation="Horizontal" Margin="-150,0,0,0" Visibility="Visible">
-                    <TextBlock Text="每张纸显示的页数:" VerticalAlignment="Center" ></TextBlock>
-                    <ComboBox Height="32" Width="113" Margin="0,0,16,0"></ComboBox>
-                    <TextBox Height="32" Width="52" Margin="0,0,16,0"></TextBox>
-                    <TextBlock Text="x" VerticalAlignment="Center" Margin="0,0,16,0"></TextBlock>
-                    <TextBox  Height="32" Width="52"></TextBox>
-                </StackPanel>
-            </Grid>
-        </Grid>
-        <Grid Grid.Row="1">
-            <StackPanel Orientation="Horizontal" >
-                <TextBlock Text="重叠:" VerticalAlignment="Center"></TextBlock>
-                <TextBox Height="32" Width="52"></TextBox>
-                <TextBlock Text="mm" VerticalAlignment="Center"></TextBlock>
-            </StackPanel>
-        </Grid>
-        <Grid Grid.Row="2">
-            <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
-                <CheckBox Margin="0,0,11,0"></CheckBox>
-                <TextBlock Text="剪切标记"></TextBlock>
-            </StackPanel>
-        </Grid>
-        <Grid Grid.Row="3" VerticalAlignment="Center">
-            <StackPanel Orientation="Horizontal">
-                <CheckBox Margin="0,0,11,0" VerticalAlignment="Center"></CheckBox>
-                <TextBlock Text="标签" VerticalAlignment="Center" Margin="0,0,8,0"></TextBlock>
-                <TextBox Height="32" Width="361"></TextBox>
-            </StackPanel>
-        </Grid>
-    </Grid>
-</UserControl>
+<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterModPosterContent"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:prism="http://prismlibrary.com/"             
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             mc:Ignorable="d"
+             d:DesignHeight="180"
+             d:DesignWidth="600"
+             prism:ViewModelLocator.AutoWireViewModel="True">
+    <Grid Height="160"  VerticalAlignment="Top">
+        <Grid.RowDefinitions>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+        </Grid.RowDefinitions>
+        <Grid Grid.Row="0" HorizontalAlignment="Left"  Width="600">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="1*"></ColumnDefinition>
+                <ColumnDefinition Width="1*"></ColumnDefinition>
+            </Grid.ColumnDefinitions>
+            <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
+                <RadioButton Name="Tile" Content="平铺"></RadioButton>
+                <RadioButton Name="Split" Content="拆分"></RadioButton>
+            </StackPanel>
+            <Grid Grid.Column="1">
+                <StackPanel Orientation="Horizontal" Visibility="Collapsed">
+                    <TextBlock Text="平铺百分比:" VerticalAlignment="Center"></TextBlock>
+                    <TextBox Height="32" Width="52"></TextBox>
+                    <TextBlock Text="%" VerticalAlignment="Center"></TextBlock>
+                </StackPanel>
+                <StackPanel Orientation="Horizontal" Margin="-150,0,0,0" Visibility="Visible">
+                    <TextBlock Text="每张纸显示的页数:" VerticalAlignment="Center" ></TextBlock>
+                    <ComboBox Height="32" Width="113" Margin="0,0,16,0"></ComboBox>
+                    <TextBox Height="32" Width="52" Margin="0,0,16,0"></TextBox>
+                    <TextBlock Text="x" VerticalAlignment="Center" Margin="0,0,16,0"></TextBlock>
+                    <TextBox  Height="32" Width="52"></TextBox>
+                </StackPanel>
+            </Grid>
+        </Grid>
+        <Grid Grid.Row="1">
+            <StackPanel Orientation="Horizontal" >
+                <TextBlock Text="重叠:" VerticalAlignment="Center"></TextBlock>
+                <TextBox Height="32" Width="52"></TextBox>
+                <TextBlock Text="mm" VerticalAlignment="Center"></TextBlock>
+            </StackPanel>
+        </Grid>
+        <Grid Grid.Row="2">
+            <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
+                <CheckBox Margin="0,0,11,0"></CheckBox>
+                <TextBlock Text="剪切标记"></TextBlock>
+            </StackPanel>
+        </Grid>
+        <Grid Grid.Row="3" VerticalAlignment="Center">
+            <StackPanel Orientation="Horizontal">
+                <CheckBox Margin="0,0,11,0" VerticalAlignment="Center"></CheckBox>
+                <TextBlock Text="标签" VerticalAlignment="Center" Margin="0,0,8,0"></TextBlock>
+                <TextBox Height="32" Width="361"></TextBox>
+            </StackPanel>
+        </Grid>
+    </Grid>
+</UserControl>

+ 35 - 35
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePagePrinter/HomePagePrinterModSizeContent.xaml

@@ -1,35 +1,35 @@
-<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterModSizeContent"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:prism="http://prismlibrary.com/"             
-             prism:ViewModelLocator.AutoWireViewModel="True"
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             mc:Ignorable="d"
-             d:DesignHeight="180"
-             d:DesignWidth="300">
-    <Grid Height="120"  VerticalAlignment="Top">
-        <Grid.RowDefinitions>
-            <RowDefinition></RowDefinition>
-            <RowDefinition></RowDefinition>
-            <RowDefinition></RowDefinition>
-        </Grid.RowDefinitions>
-        <Grid Grid.Row="0">
-            <RadioButton VerticalAlignment="Center">
-                <TextBlock Text="自动适应"></TextBlock>
-            </RadioButton>
-        </Grid>
-        <Grid Grid.Row="1">
-            <RadioButton VerticalAlignment="Center">
-                <TextBlock Text="实际大小"></TextBlock>
-            </RadioButton>
-        </Grid>
-        <Grid Grid.Row="2">
-            <RadioButton VerticalAlignment="Center">
-                <TextBlock Text="自定义显示比例"></TextBlock>
-            </RadioButton>
-            <cus:NumericUpDown Width="73" Height="32" Margin="15,0,0,2"></cus:NumericUpDown>
-        </Grid>
-    </Grid>
-</UserControl>
+<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterModSizeContent"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:prism="http://prismlibrary.com/"             
+             prism:ViewModelLocator.AutoWireViewModel="True"
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             mc:Ignorable="d"
+             d:DesignHeight="180"
+             d:DesignWidth="300">
+    <Grid Height="120"  VerticalAlignment="Top">
+        <Grid.RowDefinitions>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+        </Grid.RowDefinitions>
+        <Grid Grid.Row="0">
+            <RadioButton VerticalAlignment="Center">
+                <TextBlock Text="自动适应"></TextBlock>
+            </RadioButton>
+        </Grid>
+        <Grid Grid.Row="1">
+            <RadioButton VerticalAlignment="Center">
+                <TextBlock Text="实际大小"></TextBlock>
+            </RadioButton>
+        </Grid>
+        <Grid Grid.Row="2">
+            <RadioButton VerticalAlignment="Center">
+                <TextBlock Text="自定义显示比例"></TextBlock>
+            </RadioButton>
+            <cus:NumericUpDown Width="73" Height="32" Margin="15,0,0,2"></cus:NumericUpDown>
+        </Grid>
+    </Grid>
+</UserControl>

+ 65 - 65
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageSplitDialog.xaml

@@ -1,80 +1,80 @@
-<UserControl x:Class="PDF_Office.Views.Dialog.MainPageToolsDialogs.MainPageSplitDialog"
-   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
-             xmlns:prism="http://prismlibrary.com/"             
-             prism:ViewModelLocator.AutoWireViewModel="True"
-              d:DesignHeight="521"
-             d:DesignWidth="583"
-             mc:Ignorable="d">
-    <Grid>
-        <Grid.RowDefinitions>
-            <RowDefinition Height="48"></RowDefinition>
-            <RowDefinition Height="*"></RowDefinition>
-            <RowDefinition Height="64"></RowDefinition>
-        </Grid.RowDefinitions>
+<UserControl x:Class="PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageSplitDialog"
+   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
+             xmlns:prism="http://prismlibrary.com/"             
+             prism:ViewModelLocator.AutoWireViewModel="True"
+              d:DesignHeight="521"
+             d:DesignWidth="583"
+             mc:Ignorable="d">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="48"></RowDefinition>
+            <RowDefinition Height="*"></RowDefinition>
+            <RowDefinition Height="64"></RowDefinition>
+        </Grid.RowDefinitions>
         <TextBlock Grid.Row="0" Text="拆分" FontSize="20" FontWeight="ExtraBlack" VerticalAlignment="Center" HorizontalAlignment="Left"  Margin="20,0,0,0" Height="28" Width="120"/>
-        <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1,0,1" VerticalAlignment="Center" Height="409">
-            <Grid >
-                <Grid.ColumnDefinitions>
-                    <ColumnDefinition Width="3*"/>
-                    <ColumnDefinition Width="4*"/>
-                </Grid.ColumnDefinitions>
-                <Grid Grid.Column="0" VerticalAlignment="Top">
+        <Border Grid.Row="1" BorderBrush="Gray" BorderThickness="0,1,0,1" VerticalAlignment="Center" Height="409">
+            <Grid >
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="3*"/>
+                    <ColumnDefinition Width="4*"/>
+                </Grid.ColumnDefinitions>
+                <Grid Grid.Column="0" VerticalAlignment="Top">
                     <cus:PageTurningPreview x:Name="SplitPreview" Loaded="PageTurningPreview_Loaded" ></cus:PageTurningPreview>
-                </Grid>
-                <Grid Grid.Column="1" Margin="7,40,10,40">
-                    <Grid.RowDefinitions>
-                        <RowDefinition Height="4*"></RowDefinition>
-                        <RowDefinition Height="4*"></RowDefinition>
-                    </Grid.RowDefinitions>
-                    <Grid Grid.Row="0">
-                        <StackPanel Orientation="Vertical">
-                            <TextBlock Text="拆分方式" Height="22" Width="56" HorizontalAlignment="Left" Margin="0,0,0,17"></TextBlock>
-                            <StackPanel Orientation="Horizontal" Margin="0,0,0,8">
+                </Grid>
+                <Grid Grid.Column="1" Margin="7,40,10,40">
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="4*"></RowDefinition>
+                        <RowDefinition Height="4*"></RowDefinition>
+                    </Grid.RowDefinitions>
+                    <Grid Grid.Row="0">
+                        <StackPanel Orientation="Vertical">
+                            <TextBlock Text="拆分方式" Height="22" Width="56" HorizontalAlignment="Left" Margin="0,0,0,17"></TextBlock>
+                            <StackPanel Orientation="Horizontal" Margin="0,0,0,8">
                                 <RadioButton VerticalAlignment="Center" IsChecked="{Binding AveragePagesIsCheck}" Command="{Binding AveragePagesCommand}"></RadioButton>
-                                <TextBlock Text="平均每"  VerticalAlignment="Center"></TextBlock>
+                                <TextBlock Text="平均每"  VerticalAlignment="Center"></TextBlock>
                                 <cus:NumericUpDown Height="32" Width="110" Text="{Binding AveragePagesText,Mode=TwoWay}" IsEnabled="{Binding AveragePagesIsEnabled}"></cus:NumericUpDown>
-                                <TextBlock Text="页拆分为一个文件"  VerticalAlignment="Center"></TextBlock>
-                            </StackPanel>
-                            <StackPanel Orientation="Horizontal" Margin="0,0,0,8">
+                                <TextBlock Text="页拆分为一个文件"  VerticalAlignment="Center"></TextBlock>
+                            </StackPanel>
+                            <StackPanel Orientation="Horizontal" Margin="0,0,0,8">
                                 <RadioButton VerticalAlignment="Center" IsChecked="{Binding AverageFilesIsCheck}"  Command="{Binding AverageFilesCommand}"></RadioButton>
-                                <TextBlock Text="平均拆分为"  VerticalAlignment="Center"></TextBlock>
+                                <TextBlock Text="平均拆分为"  VerticalAlignment="Center"></TextBlock>
                                 <cus:NumericUpDown Height="32" Width="110" Text="{Binding AverageFilesText,Mode=TwoWay}" IsEnabled="{Binding AverageFilesIsEnabled}"></cus:NumericUpDown>
-                                <TextBlock Text="个PDF文件"></TextBlock>
-                            </StackPanel>
-                            <StackPanel Orientation="Horizontal">
+                                <TextBlock Text="个PDF文件"></TextBlock>
+                            </StackPanel>
+                            <StackPanel Orientation="Horizontal">
                                 <RadioButton VerticalAlignment="Center" IsChecked="{Binding CustomPageRangeIsCheck}" Command="{Binding CustomPageRangeCommand}"></RadioButton>
-                                <TextBlock Text="按特定页面拆分" VerticalAlignment="Center"></TextBlock>
+                                <TextBlock Text="按特定页面拆分" VerticalAlignment="Center"></TextBlock>
                                 <cus:WritableComboBox  Height="32" Width="183" Text="{Binding PageRangeText, Mode=TwoWay}" IsEnabled="{Binding CustomPageRangeIsEnabled}" SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}"/>
-                            </StackPanel>
-                        </StackPanel>
-                    </Grid>
-                    <Grid Grid.Row="1">
-                        <StackPanel Orientation="Vertical">
-                            <TextBlock Text="文档命名" Height="22" Width="56" HorizontalAlignment="Left"></TextBlock>
+                            </StackPanel>
+                        </StackPanel>
+                    </Grid>
+                    <Grid Grid.Row="1">
+                        <StackPanel Orientation="Vertical">
+                            <TextBlock Text="文档命名" Height="22" Width="56" HorizontalAlignment="Left"></TextBlock>
                             <TextBlock Height="32" Width="303" Margin="0,0,0,6" Text="{Binding FilePathName}"></TextBlock>
-                            <StackPanel Orientation="Horizontal" Margin="0,0,0,13">
+                            <StackPanel Orientation="Horizontal" Margin="0,0,0,13">
                                 <CheckBox Margin="0,0,11,0" Command="{Binding FrontFileNameCommand}" IsChecked="{Binding FrontFileIsCheck}"></CheckBox>
-                                <TextBlock Text="将原始文档名前置"></TextBlock>
-                            </StackPanel>
-                            <StackPanel Orientation="Horizontal" Margin="0,0,0,8">
+                                <TextBlock Text="将原始文档名前置"></TextBlock>
+                            </StackPanel>
+                            <StackPanel Orientation="Horizontal" Margin="0,0,0,8">
                                 <CheckBox VerticalAlignment="Center" Margin="0,0,11,0" Command="{Binding FileNameLabelCommand}" IsChecked="{Binding FileNameLabelIsCheck}"></CheckBox>
-                                <TextBlock Text="标签" VerticalAlignment="Center" Margin="0,0,30,0"></TextBlock>
+                                <TextBlock Text="标签" VerticalAlignment="Center" Margin="0,0,30,0"></TextBlock>
                                 <TextBox x:Name="FileNameLabelTextBox" Height="32" Width="110" Text="{Binding FileNameLabelText}" TextChanged="TextBox_TextChanged" IsEnabled="{Binding FileNameLabelIsEnabled}"></TextBox>
-                            </StackPanel>
-                            <StackPanel Orientation="Horizontal">
+                            </StackPanel>
+                            <StackPanel Orientation="Horizontal">
                                 <CheckBox VerticalAlignment="Center" Margin="0,0,11,0"  Command="{Binding FileNameDeimiterCommand}" IsChecked="{Binding FileNameDeimiterIsCheck}"></CheckBox>
-                                <TextBlock Text="分隔符" VerticalAlignment="Center" Margin="0,0,18,0"></TextBlock>
+                                <TextBlock Text="分隔符" VerticalAlignment="Center" Margin="0,0,18,0"></TextBlock>
                                 <TextBox x:Name="FileNameDeimiterTextBox"  Height="32" Width="110" Text="{Binding FileNameDeimiterText}" TextChanged="TextBox_TextChanged" IsEnabled="{Binding FileNameDeimiterIsEnabled}"></TextBox>
-                            </StackPanel>
-                        </StackPanel>
-                    </Grid>
-                </Grid>
-            </Grid>
-        </Border>
+                            </StackPanel>
+                        </StackPanel>
+                    </Grid>
+                </Grid>
+            </Grid>
+        </Border>
         <Grid Grid.Row="2">
             <Button
                     Width="98"
@@ -91,5 +91,5 @@
                     Command="{Binding SplitCommand}"
                     Content="拆分" />
         </Grid>
-    </Grid>
-</UserControl>
+    </Grid>
+</UserControl>

+ 28 - 28
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageSplitDialog.xaml.cs

@@ -2,33 +2,33 @@
 using PDF_Office.Model.Dialog.ToolsDialogs.SaftyDialogs;
 using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs;
 using PDF_Office.ViewModels.Dialog.ToolsDialogs.SaftyDialogs;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
 using System.Xml.Linq;
-
-namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
-{
-    /// <summary>
-    /// MainPageSplitDialog.xaml 的交互逻辑
-    /// </summary>
-    public partial class HomePageSplitDialog : UserControl
-    {
-        public HomePageSplitDialog()
-        {
-            InitializeComponent();
-        }
+
+namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
+{
+    /// <summary>
+    /// MainPageSplitDialog.xaml 的交互逻辑
+    /// </summary>
+    public partial class HomePageSplitDialog : UserControl
+    {
+        public HomePageSplitDialog()
+        {
+            InitializeComponent();
+        }
 
         private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
         {
@@ -58,5 +58,5 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
             SplitPreview.AwaitRenderBitmap(SplitPreview.document);
             SplitPreview.PageIndex.Text = SplitPreview.document.PageCount.ToString();
         }
-    }
-}
+    }
+}