Quellcode durchsuchen

拆分,提取,插入整理代码

liyijie vor 2 Jahren
Ursprung
Commit
48698f2d64

+ 2 - 2
PDF Office/App.xaml.cs

@@ -148,8 +148,8 @@ namespace PDF_Office
             string devKey = "";
             string devSecret = "";
 #if DEBUG
-            devKey = "ehrnKqkWc1XSEAWyPUt6+95GzCoLEyoKrCbsUuJkCqGmxmP5ozX4bS0R6crHItQVNTFvC5mBZ1M7QjJ6Ekdu4Daj7PM+EDLTBKbFJinK4Ri9E5E2X+a9vF5zSj0TkIscQPVnwj9ikxAFOWGIyybMwQQzwc8a4j1cGOqGXQRDMMY=";
-            devSecret = "mG0c3O3Mzeu5dkZJW3gpqq9uA7o7EGQveSC38Q8TK4gQurxTxGuBlGAhs0P1mD3X3bHT+AHfcLiymaqE4DY7kTFHoPs9I3tl5ErS+BHdzHRhrp9sGpqfp0B228KI+IMTu4aGVjtYuk+Uxs/kosIBw1367/WkJ00tM7U7tttD6ccHhEu996bvBgqf8Sw8OekQKQq13VBewK5AckaDux4W7SGRhCUNWC4MItkr36JnXMD2tiFQYzMG8C66HYmRGSLh";
+            devKey = "sTHSivIW4YnZQavIYDLVw4vaFcN5DQTUtRGrVyv5p9aeaHX3GirG/MBxl6Wy9TJbNOwR4CU6LPjHmGe3Po3OtBCPqIRheam9+LomScw3AvoUTHFlG1134e2J4enF43WJQ6PyOnjwZqsG1kUdlBPNztkoPzDAE2pQKgZWf6V2i34=";
+            devSecret = "mG0c3O3Mzeu5dkZJW3gpqq9uA7o7EGQveSC38Q8TK4gQurxTxGuBlGAhs0P1mD3X3bHT+AHfcLiymaqE4DY7kTFHoPs9I3tl5ErS+BHdzHRhrp9sGpqfp0B228KI+IMTu4aGVjtYuk+Uxs/kosIBw1367/WkJ00tM7U7tttD6cfaiHpW8pgW2aur3AxuQIBBLuJD5gcmNxTYW3KA32JLG8alfyXjKFVS3gka9bngvwfZ7GuNXybjKlmz1tnN6iVHpnbSj+xOHhWEperY4HHrSg==";
 #endif
 
             string userKey = "iBPRM/Tz8b6Z1G2GQt52X7hiNCGfVYXztnPjalgrgARvqfKV6lFNH8QeScTzBRYI8GGFpwelfgh790Kd9JmL7V4adI1jCiFHUT2DLT7QucxY5Nkgys2aJItQS482Ck2G2Xf8gNgojxYxRt65o/MEzkj93foj8qIdfHagXsSorSs=";

+ 4 - 0
PDF Office/CustomControl/NumericUpDown.xaml.cs

@@ -80,6 +80,10 @@ 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)
+            {
+                this.TextBox_Num.Text = "1";
+            }
             Text = this.TextBox_Num.Text;
         }
 

+ 12 - 6
PDF Office/CustomControl/PageTurningPreview.xaml.cs

@@ -24,15 +24,10 @@ namespace PDF_Office.CustomControl
     /// </summary>
     public partial class PageTurningPreview : UserControl
     {
-        public static CPDFDocument document;
+        public  CPDFDocument document;
         public PageTurningPreview()
         {
             InitializeComponent();
-            if (document!=null) {
-                AwaitRenderBitmap(document);
-                this.PageIndex.Text = document.PageCount.ToString();
-            }
-            
         }
 
         public async Task RenderBitmap(CPDFDocument doc)
@@ -82,6 +77,17 @@ namespace PDF_Office.CustomControl
         {
             if (e.Key == Key.Enter)
             {
+                if (this.CurrentPage.Text == "" || int.Parse(this.CurrentPage.Text) < 1)
+                {
+                    this.CurrentPage.Text = "1";
+                }
+                if (this.PageIndex != null)
+                {
+                    if (int.Parse(this.CurrentPage.Text) > int.Parse(this.PageIndex.Text))
+                    {
+                        this.CurrentPage.Text = this.PageIndex.Text;
+                    }
+                }
                 if (int.Parse(this.CurrentPage.Text) <= document.PageCount && int.Parse(this.CurrentPage.Text) > 0)
                 {
                     AwaitRenderBitmap(document);

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

@@ -11,10 +11,10 @@
 
         <ComboBox x:Name="writableComboBox" Grid.Column="1"  Visibility="Visible" MinHeight="32"  MinWidth="58"
                                       SelectionChanged="writableComboBox_SelectionChanged" SelectedIndex="0">
-            <ComboBoxItem Tag="0">全部页面</ComboBoxItem>
-            <ComboBoxItem Tag="1">奇数页</ComboBoxItem>
-            <ComboBoxItem Tag="1">偶数页</ComboBoxItem>
-            <ComboBoxItem Tag="1">自定义页面</ComboBoxItem>
+            <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>

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

@@ -1,4 +1,6 @@
-using System;
+using ImTools;
+using Newtonsoft.Json.Linq;
+using System;
 using System.Collections.Generic;
 using System.Diagnostics;
 using System.Linq;
@@ -32,18 +34,46 @@ namespace PDF_Office.CustomControl
                 this.writableTextBox.Width = this.writableComboBox.ActualWidth - 18;
                 Trace.WriteLine(this.writableComboBox.ActualWidth);
                 this.writableTextBox.Visibility = Visibility.Visible;
-                
+
             }
             else
             {
-                if (this.writableTextBox != null) { 
-                this.writableTextBox.Visibility = Visibility.Hidden;
+                if (this.writableTextBox != null) {
+                    this.writableTextBox.Visibility = Visibility.Hidden;
+                }
+            }
+            
+            if (this.writableComboBox.Items.Count==5)
+            {
+                if (this.writableComboBox.SelectedIndex == 1)
+                { IsCurrentPage = true; }
+                else {
+                    IsCurrentPage = false;
                 }
-           this.SelectedIndex=this.writableComboBox.SelectedIndex.ToString();
-
             }
+            this.SelectedIndex = this.writableComboBox.SelectedIndex.ToString();
+        }
+
+        public bool IsCurrentPage
+        {
+            get { return (bool)GetValue(IsCurrentPageProperty); }
+            set { SetValue(IsCurrentPageProperty, value); }
         }
 
+        // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
+        public static readonly DependencyProperty IsCurrentPageProperty =
+            DependencyProperty.Register("IsCurrentPage", typeof(bool), typeof(WritableComboBox), new PropertyMetadata(false));
+
+        public bool CurrentPage
+        {
+            get { return (bool)GetValue(CurrentPageProperty); }
+            set { SetValue(CurrentPageProperty, value); }
+        }
+
+        // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
+        public static readonly DependencyProperty CurrentPageProperty =
+            DependencyProperty.Register("CurrentPage", typeof(bool), typeof(WritableComboBox), new PropertyMetadata(false));
+
         public string SelectedIndex
         {
             get { return (string)GetValue(SelectedIndexProperty); }

+ 66 - 22
PDF Office/Helper/HomePageEditHelper.cs

@@ -75,33 +75,77 @@ namespace PDF_Office.Helper
 
         }
 
-        public static void GetPagerange(string PageRangeSelectIndex ,CPDFViewer currentViewer,ref string pageRange,string pageRangeText) {
-            if (PageRangeSelectIndex == "0")
+        public static void GetPagerange(string PageRangeSelectIndex ,CPDFViewer currentViewer,ref string pageRange,string pageRangeText,bool currentpage=false) {
+            if (!currentpage)
             {
-                pageRange = "1-" + currentViewer.Document.PageCount.ToString();
-                Trace.WriteLine(" extractModel.PageRange" + pageRange);
-            }
-            else if (PageRangeSelectIndex == "1")
-            {
-                pageRange = "1";
-                for (int i = 3; i <= currentViewer.Document.PageCount; i += 2)
-                    pageRange = pageRange + "," + i;
-                Trace.WriteLine(" extractModel.PageRange" + pageRange);
-            }
-            else if (PageRangeSelectIndex == "2")
-            {
-                pageRange = "2";
-                for (int i = 4; i <= currentViewer.Document.PageCount; i += 2)
-                    pageRange = pageRange + "," + i;
-                Trace.WriteLine(" extractModel.PageRange" + pageRange);
+                if (PageRangeSelectIndex == "0")
+                {
+                    pageRange = "1-" + currentViewer.Document.PageCount.ToString();
+                    Trace.WriteLine(" extractModel.PageRange" + pageRange);
+                }
+                else if (PageRangeSelectIndex == "1")
+                {
+                    pageRange = "1";
+                    for (int i = 3; i <= currentViewer.Document.PageCount; i += 2)
+                        pageRange = pageRange + "," + i;
+                    Trace.WriteLine(" extractModel.PageRange" + pageRange);
+                }
+                else if (PageRangeSelectIndex == "2")
+                {
+                    pageRange = "2";
+                    for (int i = 4; i <= currentViewer.Document.PageCount; i += 2)
+                        pageRange = pageRange + "," + i;
+                    Trace.WriteLine(" extractModel.PageRange" + pageRange);
 
+                }
+                else if (PageRangeSelectIndex == "3")
+                {
+                    if (pageRangeText != "")
+                    {
+                        pageRange = pageRangeText;
+                    }
+                    Trace.WriteLine(" extractModel.PageRange" + pageRange);
+                }
+                else { return; }
             }
-            else if (PageRangeSelectIndex == "3")
+            else
             {
-                pageRange = pageRangeText;
-                Trace.WriteLine(" extractModel.PageRange" + pageRange);
+                if (PageRangeSelectIndex == "0")
+                {
+                    pageRange = "1-" + currentViewer.Document.PageCount.ToString();
+                    Trace.WriteLine(" extractModel.PageRange" + pageRange);
+                }
+                if (PageRangeSelectIndex == "1")
+                {
+                    //pageRange = pageRange;
+                    Trace.WriteLine(" extractModel.PageRange" + pageRange);
+                }
+                else if (PageRangeSelectIndex == "2")
+                {
+                    pageRange = "1";
+                    for (int i = 3; i <= currentViewer.Document.PageCount; i += 2)
+                        pageRange = pageRange + "," + i;
+                    Trace.WriteLine(" extractModel.PageRange" + pageRange);
+                }
+                else if (PageRangeSelectIndex == "3")
+                {
+                    pageRange = "2";
+                    for (int i = 4; i <= currentViewer.Document.PageCount; i += 2)
+                        pageRange = pageRange + "," + i;
+                    Trace.WriteLine(" extractModel.PageRange" + pageRange);
+
+                }
+                else if (PageRangeSelectIndex == "4")
+                {
+                    if (pageRangeText != "")
+                    {
+                        pageRange = pageRangeText;
+                    }
+                    Trace.WriteLine(" extractModel.PageRange" + pageRange);
+                }
+                else { return; }
+
             }
-            else { return; }
         }
     }
 

+ 1 - 1
PDF Office/Model/Dialog/HomePageToolsDialogs/HomePageExtractDialogModel.cs

@@ -19,7 +19,7 @@ namespace PDF_Office.Model.HomePageToolsDialogs
         /// <summary>
         /// 是否拆分为单文件
         /// </summary>
-        public bool ExtractToSingleFile = true;
+        public bool ExtractToSingleFile = false;
         /// <summary>
         /// 提取后删除页面
         /// </summary>

+ 4 - 1
PDF Office/Model/Dialog/HomePageToolsDialogs/HomePageSplitDialogModel.cs

@@ -37,7 +37,10 @@ namespace PDF_Office.Model.HomePageToolsDialogs
         /// 页码 存入页码范围;
         /// </summary>
         public List<int> PageParm = new List<int> { };
-
+        /// <summary>
+        /// 文件名;
+        /// </summary>
+        public string FileName = "";
 
         public enum SplitMode
         {

+ 23 - 14
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageExtractDialogViewModel.cs

@@ -18,7 +18,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 {
     public class HomePageExtractDialogViewModel : BindableBase, IDialogAware
     {
-        private CPDFDocument document;
+        #region 参数和属性
+        public CPDFDocument document;
 
         private CPDFViewer currentViewer;
 
@@ -26,13 +27,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         private string savefilepath { get; set; }
 
-        public DelegateCommand CancelCommand { get; set; }
-
-        public DelegateCommand ExtractCommand { get; set; }
-
-        public DelegateCommand ExtractToSingleFileCommand { get; set; }
-
-        public DelegateCommand DeleteAfterExtractCommand { get; set; }
+        
 
         private string extractToSingleFileIsCheck = "False";
         public string ExtractToSingleFileIsCheck
@@ -73,6 +68,17 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 pageRangeSelectIndex = value;
             }
         }
+        #endregion
+
+        #region 委托声明
+        public DelegateCommand CancelCommand { get; set; }
+
+        public DelegateCommand ExtractCommand { get; set; }
+
+        public DelegateCommand ExtractToSingleFileCommand { get; set; }
+
+        public DelegateCommand DeleteAfterExtractCommand { get; set; }
+        #endregion
 
         public HomePageExtractDialogViewModel()
         {
@@ -82,7 +88,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             DeleteAfterExtractCommand = new DelegateCommand(deleteAfterExtract);
 
         }
-
+        #region 逻辑函数
         private void cancel()
         {
             RequestClose.Invoke(new DialogResult(ButtonResult.Cancel));
@@ -91,7 +97,6 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         private void extract()
         {
             HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref extractModel.PageRange, PageRangeText);
-
             char[] enumerationSeparator = new char[] { ',' };
             char[] rangeSeparator = new char[] { '-' };
             if (!CommonHelper.GetPagesInRange(ref extractModel.PageParm, extractModel.PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
@@ -106,7 +111,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 + ".extract" + i.ToString() + ".pdf");
+                    extractdoc.WriteToFilePath(savefilepath+ currentViewer.Document.FileName + ".extract" + i.ToString() + ".pdf");
                     extractdoc.Release();
                 }
                 if (extractModel.DeleteAfterExtract)
@@ -120,7 +125,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             {
                 CPDFDocument extractdoc = CPDFDocument.CreateDocument();
                 extractdoc.ImportPages(currentViewer.Document, extractModel.PageRange);
-                extractdoc.WriteToFilePath(savefilepath + ".extract.pdf");
+                extractdoc.WriteToFilePath(savefilepath + currentViewer.Document.FileName + ".extract.pdf");
                 if (extractModel.DeleteAfterExtract)
                 {
                     currentViewer.Document.RemovePages(extractModel.PageParm.ToArray());
@@ -161,7 +166,9 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             }
 
         }
+        #endregion
 
+        #region 框架行为
         public string Title => "";
 
         public event Action<IDialogResult> RequestClose;
@@ -184,10 +191,12 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             if (viewer != null && viewer.Document != null)
             {
                 currentViewer = viewer;
-                savefilepath = filepath;
-                PageTurningPreview.document = currentViewer.Document;
+                savefilepath = filepath.Replace(currentViewer.Document.FileName + ".pdf", "");
+                document = currentViewer.Document;
+
 
             }
         }
+        #endregion
     }
 }

+ 27 - 17
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageInsertDialogViewModel.cs

@@ -21,24 +21,15 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 {
     public class HomePageInsertDialogViewModel : BindableBase, IDialogAware
     {
+        #region 参数和属性
+        public CPDFDocument document;
+
         private CPDFViewer currentViewer;
 
         private string saveFilePath { get; set; }
 
         private HomePageInsertDialogModel insertModel = new HomePageInsertDialogModel();
 
-        public DelegateCommand CancelCommand { get; set; }
-
-        public DelegateCommand InsertCommand { get; set; }
-
-        public DelegateCommand SelectFileCommand { get; set; }
-
-        public DelegateCommand FirstPageCommand { get; set; }
-
-        public DelegateCommand LastPageCommand { get; set; }
-
-        public DelegateCommand CustomPageCommand { get; set; }
-
         private string selectFilePath = "选择文件";
         public string SelectFilePath
         {
@@ -78,9 +69,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             }
             set
             {
-                if (int.Parse(pageInsertIndex) > currentViewer.Document.PageCount)
-                { pageInsertIndex = currentViewer.Document.PageCount.ToString(); }
-                SetProperty(ref pageInsertIndex, value);
+
+                pageInsertIndex = value;
             }
         }
 
@@ -123,6 +113,21 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 SetProperty(ref customIsEnabled, value);
             }
         }
+        #endregion
+
+        #region 委托声明
+        public DelegateCommand CancelCommand { get; set; }
+
+        public DelegateCommand InsertCommand { get; set; }
+
+        public DelegateCommand SelectFileCommand { get; set; }
+
+        public DelegateCommand FirstPageCommand { get; set; }
+
+        public DelegateCommand LastPageCommand { get; set; }
+
+        public DelegateCommand CustomPageCommand { get; set; }
+        #endregion
 
         public HomePageInsertDialogViewModel()
         {
@@ -133,7 +138,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             LastPageCommand = new DelegateCommand(lastPage);
             CustomPageCommand = new DelegateCommand(customPage);
         }
-
+        #region 逻辑函数
         private void cancel()
         {
             RequestClose.Invoke(new DialogResult(ButtonResult.Cancel));
@@ -155,6 +160,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 //TODO
                 return;
             }
+            
+            insertModel.InsertIndex =int.Parse( PageInsertIndex);
             if (PageLocation == "1")
             {
                 insertModel.InsertIndex = insertModel.InsertIndex - 1;
@@ -204,7 +211,9 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             LastIsCheck = "False";
             CustomIsCheck = "True";
         }
+        #endregion
 
+        #region 构架行为
         public string Title => "";
 
         public event Action<IDialogResult> RequestClose;
@@ -228,9 +237,10 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             {
                 currentViewer = viewer;
                 saveFilePath = filepath;
+                document = currentViewer.Document;
                 PageNumber = currentViewer.Document.PageCount.ToString();
-                PageTurningPreview.document = currentViewer.Document;
             }
         }
+        #endregion
     }
 }

+ 140 - 94
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageSplitDialogViewModel.cs

@@ -23,7 +23,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 {
     public class HomePageSplitDialogViewModel : BindableBase, IDialogAware
     {
-        CPDFDocument document;
+        #region 参数和属性
+        public CPDFDocument document;
 
         private CPDFViewer currentViewer;
 
@@ -33,28 +34,6 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         private string savefilename { get; set; }
 
-        public DelegateCommand CancelCommand { get; set; }
-
-        public DelegateCommand SplitCommand { get; set; }
-
-        public DelegateCommand AveragePagesCommand { get; set; }
-
-        public DelegateCommand AverageFilesCommand { get; set; }
-
-        public DelegateCommand CustomPageRangeCommand { get; set; }
-
-        public DelegateCommand FrontFileNameCommand { get; set; }
-
-        public DelegateCommand FileNameLabelCommand { get; set; }
-
-        public DelegateCommand FileNameDeimiterCommand { get; set; }
-
-        public DelegateCommand FileNameDeimiterChangeCommand { get; set; }
-
-        public DelegateCommand FileNameLabelChangeCommand { get; set; }
-
-       
-
         private string pageRangeText = "0";
         public string PageRangeText
         {
@@ -215,6 +194,49 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             }
         }
 
+        private string fileNameLabelIsEnabled = "False";
+        public string FileNameLabelIsEnabled
+        {
+            get { return fileNameLabelIsEnabled; }
+            set
+            {
+                SetProperty(ref fileNameLabelIsEnabled, value);
+            }
+        }
+
+        private string fileNameDeimiterIsEnabled = "False";
+        public string FileNameDeimiterIsEnabled
+        {
+            get { return fileNameDeimiterIsEnabled; }
+            set
+            {
+                SetProperty(ref fileNameDeimiterIsEnabled, value);
+            }
+        }
+        #endregion
+
+        #region 委托声明
+        public DelegateCommand CancelCommand { get; set; }
+
+        public DelegateCommand SplitCommand { get; set; }
+
+        public DelegateCommand AveragePagesCommand { get; set; }
+
+        public DelegateCommand AverageFilesCommand { get; set; }
+
+        public DelegateCommand CustomPageRangeCommand { get; set; }
+
+        public DelegateCommand FrontFileNameCommand { get; set; }
+
+        public DelegateCommand FileNameLabelCommand { get; set; }
+
+        public DelegateCommand FileNameDeimiterCommand { get; set; }
+
+        public DelegateCommand FileNameDeimiterChangeCommand { get; set; }
+
+        public DelegateCommand FileNameLabelChangeCommand { get; set; }
+        #endregion
+
         public HomePageSplitDialogViewModel()
         {
             CancelCommand = new DelegateCommand(cancel);
@@ -226,19 +248,13 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             FileNameLabelCommand = new DelegateCommand(fileNameLabel);
             FileNameDeimiterCommand = new DelegateCommand(fileNameDeimiter);
             FileNameDeimiterChangeCommand = new DelegateCommand(fileNameDeimiter);
-            FileNameLabelChangeCommand= new DelegateCommand(fileNameLabel);
-            
+            FileNameLabelChangeCommand = new DelegateCommand(fileNameLabel);
 
-        }
 
-        private void cancel()
-        {
-            RequestClose.Invoke(new DialogResult(ButtonResult.Cancel));
         }
-
-        private void split()
+        #region 逻辑函数
+        private void FileNameIsCheck()
         {
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref splitModel.PageRange, PageRangeText);
 
             if (FileNameDeimiterIsCheck == "True")
             {
@@ -260,12 +276,24 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             if (FileNameLabelIsCheck == "True")
             {
                 splitModel.FrontFileName = true;
+                splitModel.FileName = (savefilepath + currentViewer.Document.FileName + splitModel.FileNameDeimiter + splitModel.FileNameLabel);
             }
             else
             {
                 splitModel.FrontFileName = false;
+                splitModel.FileName = (savefilepath + splitModel.FileNameLabel + splitModel.FileNameDeimiter + currentViewer.Document.FileName);
             }
+        }
+
+        private void cancel()
+        {
+            RequestClose.Invoke(new DialogResult(ButtonResult.Cancel));
+        }
 
+        private void split()
+        {
+            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref splitModel.PageRange, PageRangeText);
+            FileNameIsCheck();
             char[] enumerationSeparator = new char[] { ',' };
             char[] rangeSeparator = new char[] { '-' };
             if (!CommonHelper.GetPagesInRange(ref splitModel.PageParm, splitModel.PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
@@ -273,40 +301,30 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 Trace.WriteLine("输入不对");
                 return;
             }
-            Trace.WriteLine("mmmmmmmmmmmmmmmmmmmmm---mmm"+splitModel.PageRange+"pppppp");
+            Trace.WriteLine("splitModel.PageRange: " + splitModel.PageRange + "-----");
             if (splitModel.Mode == HomePageSplitDialogModel.SplitMode.AveragePages)
             {
-                if (AveragePagesText != "") { 
-                splitModel.GetModeCount = int.Parse(AveragePagesText);
+                if (AveragePagesText != "")
+                {
+                    splitModel.GetModeCount = int.Parse(AveragePagesText);
                 }
                 int averagepagesremainder = 0;
                 var averagepagesdocs = HomePageEditHelper.AverageSplitPages(currentViewer.Document.PageCount, splitModel.GetModeCount, ref averagepagesremainder);
                 int averagepagesdoc;
-                for (averagepagesdoc = 1; averagepagesdoc < averagepagesdocs; averagepagesdoc++) {
+                for (averagepagesdoc = 1; averagepagesdoc < averagepagesdocs; averagepagesdoc++)
+                {
                     CPDFDocument extractdoc = CPDFDocument.CreateDocument();
                     extractdoc.ImportPages(currentViewer.Document, (1 + splitModel.GetModeCount * (averagepagesdoc - 1)).ToString() + "-" + (splitModel.GetModeCount * averagepagesdoc).ToString());
-                    if (splitModel.FrontFileName)
-                    {
-                        extractdoc.WriteToFilePath(savefilepath + splitModel.FileNameDeimiter + splitModel.FileNameLabel + averagepagesdoc.ToString() + ".pdf");
-                    }
-                    else {
-                        extractdoc.WriteToFilePath(currentViewer.Document.FilePath + splitModel.FileNameLabel + splitModel.FileNameDeimiter + currentViewer.Document.FileName + averagepagesdoc.ToString() + ".pdf");
 
-                    }
+                    extractdoc.WriteToFilePath(splitModel.FileName + averagepagesdoc.ToString() + ".pdf");
+
                     extractdoc.Release();
                 }
-                if (averagepagesdoc == averagepagesdocs) {
+                if (averagepagesdoc == averagepagesdocs)
+                {
                     CPDFDocument extractdoc = CPDFDocument.CreateDocument();
                     extractdoc.ImportPages(currentViewer.Document, (1 + splitModel.GetModeCount * (averagepagesdoc - 1)).ToString() + "-" + currentViewer.Document.PageCount.ToString());
-                    if (splitModel.FrontFileName)
-                    {
-                        extractdoc.WriteToFilePath(savefilepath + splitModel.FileNameDeimiter + splitModel.FileNameLabel + averagepagesdoc.ToString() + ".pdf");
-                    }
-                    else
-                    {
-                        extractdoc.WriteToFilePath(currentViewer.Document.FilePath + splitModel.FileNameLabel + splitModel.FileNameDeimiter + currentViewer.Document.FileName + averagepagesdoc.ToString() + ".pdf");
-
-                    }
+                    extractdoc.WriteToFilePath(splitModel.FileName + averagepagesdoc.ToString() + ".pdf");
                 }
             }
             if (splitModel.Mode == HomePageSplitDialogModel.SplitMode.AverageFiles)
@@ -319,40 +337,43 @@ 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++) {
+                { 
+                    splitModel.GetModeCount = 10;
+                }
+                for (averagefilesdoc = 1; averagefilesdoc <= splitModel.GetModeCount; averagefilesdoc++)
+                {
                     CPDFDocument extractdoc = CPDFDocument.CreateDocument();
-                    if (averagefilesremainder > 0) {
+                    if (averagefilesremainder > 0)
+                    {
                         extractdoc.ImportPages(currentViewer.Document, (1 + (averagefilespages + 1) * (averagefilesdoc - 1)).ToString() + "-" + ((averagefilespages + 1) * averagefilesdoc).ToString());
-                        Trace.WriteLine("gggggggggggggg" + (1 + (averagefilespages + 1) * (averagefilesdoc - 1)).ToString() + "-" + ((averagefilespages + 1) * averagefilesdoc).ToString());
-                        extractdoc.WriteToFilePath(savefilepath + splitModel.FileNameDeimiter + splitModel.FileNameLabel + averagefilesdoc.ToString() + ".pdf");
+                        extractdoc.WriteToFilePath(splitModel.FileName + averagefilesdoc.ToString() + ".pdf");
                         averagefilesremainder--;
                     }
-                    else {
+                    else
+                    {
                         extractdoc.ImportPages(currentViewer.Document, (averagefilespages * averagefilesremainder + averagefilesremainder + 1 + averagefilespages * (averagefilesdoc - 1)).ToString() + "-" + (averagefilespages * averagefilesremainder + averagefilesremainder + (averagefilespages * averagefilesdoc)).ToString());
-                        Trace.WriteLine("gggggggggggggg" + (averagefilespages * averagefilesremainder + averagefilesremainder + 1 + averagefilespages * (averagefilesdoc - 1)).ToString() + "-" + (averagefilespages * averagefilesremainder + averagefilesremainder + (averagefilespages * averagefilesdoc)).ToString());
-                        extractdoc.WriteToFilePath(savefilepath + splitModel.FileNameDeimiter + splitModel.FileNameLabel + averagefilesdoc.ToString() + ".pdf");
+                        extractdoc.WriteToFilePath(splitModel.FileName + averagefilesdoc.ToString() + ".pdf");
                     }
-                    
                     extractdoc.Release();
                 }
-
             }
             if (splitModel.Mode == HomePageSplitDialogModel.SplitMode.CustomPageRange)
             {
-
                 CPDFDocument extractdoc = CPDFDocument.CreateDocument();
                 extractdoc.ImportPages(currentViewer.Document, splitModel.PageRange);
-                extractdoc.WriteToFilePath(savefilepath + splitModel.FileNameDeimiter + splitModel.FileNameLabel + "1" + ".pdf");
-                currentViewer.Document.RemovePages(splitModel.PageParm.ToArray());
-                currentViewer.Document.WriteToFilePath(savefilepath + splitModel.FileNameDeimiter + splitModel.FileNameLabel + "2" + ".pdf");
-
+                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"); 
+                }
             }
             System.Diagnostics.Process.Start("Explorer", "/select," + currentViewer.Document.FilePath);
             RequestClose.Invoke(new DialogResult(ButtonResult.OK));
         }
 
-        private void averagePages() {
+        private void averagePages()
+        {
             CustomPageRangeIsCheck = "False";
             AverageFilesIsCheck = "False";
             AveragePagesIsCheck = "True";
@@ -364,7 +385,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         }
 
-        private void averageFiles() {
+        private void averageFiles()
+        {
             CustomPageRangeIsCheck = "False";
             AverageFilesIsCheck = "True";
             AveragePagesIsCheck = "False";
@@ -376,7 +398,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         }
 
-        private void customPageRange() {
+        private void customPageRange()
+        {
             CustomPageRangeIsCheck = "True";
             AverageFilesIsCheck = "False";
             AveragePagesIsCheck = "False";
@@ -388,22 +411,36 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 
         }
 
-        private void frontFileName() {
+        private void frontFileName()
+        {
+            if (FileNameLabelIsCheck == "False")
+            { 
+                FileNameLabelText = ""; 
+            }
+            if (FileNameDeimiterIsCheck == "False")
+            { FileNameDeimiterText = ""; }
             if (FrontFileIsCheck == "True")
             {
                 FilePathName = savefilename + FileNameDeimiterText + FileNameLabelText;
                 splitModel.FrontFileName = true;
             }
-            else { 
-                splitModel.FrontFileName=false;
+            else
+            {
+                splitModel.FrontFileName = false;
                 FilePathName = FileNameLabelText + FileNameDeimiterText + savefilename;
             }
-            
+
         }
 
-        private void fileNameLabel() {
+        private void fileNameLabel()
+        {
+            if (FileNameDeimiterIsCheck == "False")
+            { 
+                FileNameDeimiterText = ""; 
+            }
             if (FileNameLabelIsCheck == "True")
             {
+                FileNameLabelIsEnabled = "True";
                 if (FrontFileIsCheck == "True")
                 {
                     FilePathName = savefilename + FileNameDeimiterText + FileNameLabelText;
@@ -415,55 +452,60 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                     FilePathName = FileNameLabelText + FileNameDeimiterText + savefilename;
                 }
             }
-            else {
-                
+            else
+            {
+                FileNameLabelIsEnabled = "False";
+
                 if (FrontFileIsCheck == "True")
                 {
-                    FilePathName = savefilename + FileNameDeimiterText + FileNameLabelText;
+                    FilePathName = savefilename + FileNameDeimiterText;
                     splitModel.FrontFileName = true;
                 }
                 else
                 {
                     splitModel.FrontFileName = false;
-                    FilePathName = FileNameLabelText + FileNameDeimiterText + savefilename;
+                    FilePathName = FileNameDeimiterText + savefilename;
                 }
             }
-        
+
         }
 
-        private void fileNameDeimiter() {
+        private void fileNameDeimiter()
+        {
+
+            if (FileNameLabelIsCheck == "False")
+            {
+                FileNameLabelText = "";
+            }
             if (FileNameDeimiterIsCheck == "True")
             {
+                FileNameDeimiterIsEnabled = "True";
                 if (FrontFileIsCheck == "True")
                 {
                     FilePathName = savefilename + FileNameDeimiterText + FileNameLabelText;
-                    
                 }
                 else
                 {
-                    
                     FilePathName = FileNameLabelText + FileNameDeimiterText + savefilename;
                 }
             }
             else
             {
-                
+                FileNameDeimiterIsEnabled = "False";
                 if (FrontFileIsCheck == "True")
                 {
-                    FilePathName = savefilename + FileNameDeimiterText + FileNameLabelText;
-                    
+                    FilePathName = savefilename + FileNameLabelText;
                 }
                 else
                 {
-                    
-                    FilePathName = FileNameLabelText + FileNameDeimiterText + savefilename;
+                    FilePathName = FileNameLabelText + savefilename;
                 }
             }
-
         }
+        #endregion
 
-       
-        public string Title =>"";
+        #region 构架行为
+        public string Title => "";
 
         public event Action<IDialogResult> RequestClose;
 
@@ -486,10 +528,14 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             if (viewer != null && viewer.Document != null)
             {
                 currentViewer = viewer;
-                savefilepath = filepath;
+                document= viewer.Document;
                 savefilename = currentViewer.Document.FileName;
-                
+                FilePathName = savefilename + "-" + "part" + ".pdf";
+                savefilepath = filepath.Replace(savefilename+".pdf","");
+
+
             }
         }
+        #endregion
     }
 }

+ 0 - 3
PDF Office/ViewModels/HomePanel/HomeGuidContentViewModel.cs

@@ -48,7 +48,6 @@ namespace PDF_Office.ViewModels.HomePanel
                         DialogParameters splitvalue = new DialogParameters();
                         splitvalue.Add(ParameterNames.PDFViewer, viewer);
                         splitvalue.Add(ParameterNames.FilePath, dlg.FileName);
-                        PageTurningPreview.document = viewer.Document;
                         dialogs.ShowDialog(DialogNames.HomePageSplitDialog, splitvalue, e => { });
                         break;
 
@@ -56,7 +55,6 @@ namespace PDF_Office.ViewModels.HomePanel
                         DialogParameters extractvalue = new DialogParameters();
                         extractvalue.Add(ParameterNames.PDFViewer, viewer); 
                         extractvalue.Add(ParameterNames.FilePath, dlg.FileName);
-                        PageTurningPreview.document = viewer.Document;
                         dialogs.ShowDialog(DialogNames.HomePageExtractDialog, extractvalue, e => { });
                         break;
 
@@ -64,7 +62,6 @@ namespace PDF_Office.ViewModels.HomePanel
                         DialogParameters insertvalue = new DialogParameters();
                         insertvalue.Add(ParameterNames.PDFViewer, viewer); 
                         insertvalue.Add(ParameterNames.FilePath, dlg.FileName);
-                        PageTurningPreview.document = viewer.Document;
                         dialogs.ShowDialog(DialogNames.HomePageInsertDialog, insertvalue, e => { });
                         break;
 

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

@@ -23,7 +23,7 @@
                     <ColumnDefinition Width="1*"/>
                 </Grid.ColumnDefinitions>
 				<Grid Grid.Column="0">
-                    <cus:PageTurningPreview ></cus:PageTurningPreview>
+                    <cus:PageTurningPreview x:Name="ExtractPreview" Loaded="PageTurningPreview_Loaded" ></cus:PageTurningPreview>
                 </Grid>
                 <Grid Grid.Column="1">
                     <Grid.RowDefinitions>

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

@@ -1,4 +1,5 @@
-using System;
+using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -23,6 +24,14 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
         public HomePageExtractDialog()
         {
             InitializeComponent();
-        }
+        }
+
+        private void PageTurningPreview_Loaded(object sender, RoutedEventArgs e)
+        {
+            ExtractPreview.document = ((HomePageInsertDialogViewModel)this.DataContext).document;
+            ExtractPreview.AwaitRenderBitmap(ExtractPreview.document);
+            ExtractPreview.PageIndex.Text = ExtractPreview.document.PageCount.ToString();
+
+        }
     }
 }

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

@@ -23,7 +23,7 @@
                     <ColumnDefinition Width="4*"/>
                 </Grid.ColumnDefinitions>
                 <Grid Grid.Column="0">
-                    <cus:PageTurningPreview></cus:PageTurningPreview>
+                    <cus:PageTurningPreview x:Name="InsertPreview" Loaded="PageTurningPreview_Loaded"></cus:PageTurningPreview>
                 </Grid>
                 <Grid Grid.Column="1" Margin="7,27,13,40">
                     <Grid.RowDefinitions>
@@ -54,9 +54,9 @@
                         <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 Height="32" Width="100" Text="{Binding PageInsertIndex}" IsEnabled="{Binding CustomIsEnabled}"></TextBox>
+                            <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 Text="{Binding PageNumber}" 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>

+ 32 - 2
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageInsertDialog.xaml.cs

@@ -1,7 +1,9 @@
-using System;
+using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs;
+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;
@@ -23,6 +25,34 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
         public HomePageInsertDialog()
         {
             InitializeComponent();
-        }
+        }
+
+        private void PageInsertIndexTextBox_TextChanged(object sender, TextChangedEventArgs e)
+        {
+            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))
+            {
+                this.PageInsertIndexTextBox.Text = this.PageCountText.Text;
+            }
+            }
+           
+            ((HomePageInsertDialogViewModel)this.DataContext).PageInsertIndex =this.PageInsertIndexTextBox.Text;
+
+        }
+        private void CountTextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
+        {
+            e.Handled = new Regex("[^0-9]+").IsMatch(e.Text);
+        }
+
+        private void PageTurningPreview_Loaded(object sender, RoutedEventArgs e)
+        {
+            InsertPreview.document = ((HomePageInsertDialogViewModel)this.DataContext).document;
+            InsertPreview.AwaitRenderBitmap(InsertPreview.document);
+            InsertPreview.PageIndex.Text = InsertPreview.document.PageCount.ToString();
+        }
     }
 }

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

@@ -23,7 +23,7 @@
                     <ColumnDefinition Width="4*"/>
                 </Grid.ColumnDefinitions>
                 <Grid Grid.Column="0" VerticalAlignment="Top">
-                    <cus:PageTurningPreview ></cus:PageTurningPreview>
+                    <cus:PageTurningPreview x:Name="SplitPreview" Loaded="PageTurningPreview_Loaded" ></cus:PageTurningPreview>
                 </Grid>
                 <Grid Grid.Column="1" Margin="7,40,10,40">
                     <Grid.RowDefinitions>
@@ -48,14 +48,14 @@
                             <StackPanel Orientation="Horizontal">
                                 <RadioButton VerticalAlignment="Center" IsChecked="{Binding CustomPageRangeIsCheck}" Command="{Binding CustomPageRangeCommand}"></RadioButton>
                                 <TextBlock Text="按特定页面拆分" VerticalAlignment="Center"></TextBlock>
-                                <cus:WritableComboBox  Height="32" Width="183" Text="{Binding PageRangeText,Mode=TwoWay}" IsEnabled="{Binding CustomPageRangeIsEnabled}" SelectedIndex="{Binding PageRangeSelectIndex,Mode=TwoWay}"></cus:WritableComboBox>
+                                <cus:WritableComboBox CurrentPage="True" Height="32" Width="183" Text="{Binding PageRangeText,Mode=TwoWay}" IsEnabled="{Binding CustomPageRangeIsEnabled}" SelectedIndex="{Binding PageRangeSelectIndex,Mode=TwoWay}"></cus:WritableComboBox>
                             </StackPanel>
                         </StackPanel>
                     </Grid>
                     <Grid Grid.Row="1">
                         <StackPanel Orientation="Vertical">
                             <TextBlock Text="文档命名" Height="22" Width="56" HorizontalAlignment="Left"></TextBlock>
-                            <TextBox Height="32" Width="303" Margin="0,0,0,6" Text="{Binding FilePathName}"></TextBox>
+                            <TextBlock Height="32" Width="303" Margin="0,0,0,6" Text="{Binding FilePathName}"></TextBlock>
                             <StackPanel Orientation="Horizontal" Margin="0,0,0,13">
                                 <CheckBox Margin="0,0,11,0" Command="{Binding FrontFileNameCommand}" IsChecked="{Binding FrontFileIsCheck}"></CheckBox>
                                 <TextBlock Text="将原始文档名前置"></TextBlock>
@@ -63,12 +63,12 @@
                             <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>
-                                <TextBox x:Name="FileNameLabelTextBox" Height="32" Width="110" Text="{Binding FileNameLabelText}" TextChanged="TextBox_TextChanged"></TextBox>
+                                <TextBox x:Name="FileNameLabelTextBox" Height="32" Width="110" Text="{Binding FileNameLabelText}" TextChanged="TextBox_TextChanged" IsEnabled="{Binding FileNameLabelIsEnabled}"></TextBox>
                             </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>
-                                <TextBox x:Name="FileNameDeimiterTextBox"  Height="32" Width="110" Text="{Binding FileNameDeimiterText}" TextChanged="TextBox_TextChanged"></TextBox>
+                                <TextBox x:Name="FileNameDeimiterTextBox"  Height="32" Width="110" Text="{Binding FileNameDeimiterText}" TextChanged="TextBox_TextChanged" IsEnabled="{Binding FileNameDeimiterIsEnabled}"></TextBox>
                             </StackPanel>
                         </StackPanel>
                     </Grid>

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

@@ -2,31 +2,32 @@
 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;
-
-namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
-{
-    /// <summary>
-    /// MainPageSplitDialog.xaml 的交互逻辑
-    /// </summary>
-    public partial class HomePageSplitDialog : UserControl
-    {
-        public HomePageSplitDialog()
-        {
-            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;
+using System.Xml.Linq;
+
+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)
@@ -51,5 +52,11 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
             }
         }
 
-    }
-}
+        private void PageTurningPreview_Loaded(object sender, RoutedEventArgs e)
+        {
+            SplitPreview.document = ((HomePageSplitDialogViewModel)this.DataContext).document;
+            SplitPreview.AwaitRenderBitmap(SplitPreview.document);
+            SplitPreview.PageIndex.Text = SplitPreview.document.PageCount.ToString();
+        }
+    }
+}