소스 검색

整理代码-更新

liyijie 2 년 전
부모
커밋
a30190276d
30개의 변경된 파일876개의 추가작업 그리고 772개의 파일을 삭제
  1. 78 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterExcelDialogViewModel.cs
  2. 78 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterHTMLDialogViewModel.cs
  3. 120 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterImgDialogViewModel.cs
  4. 78 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterPPTDialogViewModel.cs
  5. 78 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterRTFDialogViewModel.cs
  6. 78 0
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterTextDialogViewModel.cs
  7. 79 1
      PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterWordDialogViewModel.cs
  8. 67 0
      PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageExtractDialogViewModel.cs
  9. 99 30
      PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageSplitDialogViewModel.cs
  10. 0 64
      PDF Office/Views/Dialog/ConverterDialogs/ConverterCSVDialog.xaml.cs
  11. 9 0
      PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml
  12. 0 67
      PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml.cs
  13. 9 0
      PDF Office/Views/Dialog/ConverterDialogs/ConverterHTMLDialog.xaml
  14. 0 67
      PDF Office/Views/Dialog/ConverterDialogs/ConverterHTMLDialog.xaml.cs
  15. 14 4
      PDF Office/Views/Dialog/ConverterDialogs/ConverterImgDialog.xaml
  16. 0 125
      PDF Office/Views/Dialog/ConverterDialogs/ConverterImgDialog.xaml.cs
  17. 9 0
      PDF Office/Views/Dialog/ConverterDialogs/ConverterPPTDialog.xaml
  18. 0 67
      PDF Office/Views/Dialog/ConverterDialogs/ConverterPPTDialog.xaml.cs
  19. 9 0
      PDF Office/Views/Dialog/ConverterDialogs/ConverterRTFDialog.xaml
  20. 0 65
      PDF Office/Views/Dialog/ConverterDialogs/ConverterRTFDialog.xaml.cs
  21. 9 0
      PDF Office/Views/Dialog/ConverterDialogs/ConverterTextDialog.xaml
  22. 0 67
      PDF Office/Views/Dialog/ConverterDialogs/ConverterTextDialog.xaml.cs
  23. 9 0
      PDF Office/Views/Dialog/ConverterDialogs/ConverterWordDialog.xaml
  24. 0 67
      PDF Office/Views/Dialog/ConverterDialogs/ConverterWordDialog.xaml.cs
  25. 11 1
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageExtractDialog.xaml
  26. 0 60
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageExtractDialog.xaml.cs
  27. 11 1
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageSplitDialog.xaml
  28. 0 60
      PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageSplitDialog.xaml.cs
  29. 21 16
      PDF Office/Views/EditTools/Watermark/WatermarkCreateFileContent.xaml
  30. 10 10
      PDF Office/Views/EditTools/Watermark/WatermarkCreateTextContent.xaml

+ 78 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterExcelDialogViewModel.cs

@@ -44,6 +44,10 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public DelegateCommand CancelCommand { get; set; }
 
         public DelegateCommand ConverterCommnad { get; set; }
+
+        public DelegateCommand<object> CmbPageSelectionChanged { get; set; }
+
+        public DelegateCommand<object> CmbPageTextChanged { get; set; }
         #endregion
 
         public ConverterExcelDialogViewModel(IDialogService dialogService)
@@ -51,6 +55,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             CancelCommand = new DelegateCommand(cancel);
             ConverterCommnad = new DelegateCommand(converter);
             RadioButtonCommand = new DelegateCommand<string>(radiobutton);
+            CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
+            CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
             dialogs = dialogService;
         }
         #region 逻辑函数
@@ -90,6 +96,78 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             
         }
 
+        private void CmbPageSelectionChangedEvent(object e)
+        {
+            ///这里采用的是将预览UI控件传递过来的方式,为下下策
+            ///正确的方式应该是 通过声明一些属性,再通过绑定来更新预览控件对应值的形式
+            ///但是目前发现自定义控件的依赖属性绑定有些问题,因此先用此方法,将业务逻辑代码先调整到VM里
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                {
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+
+                }
+                if (PageRangeSelectIndex == "1")
+                {
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+                    this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                }
+                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.CurrentIndex = 0;
+            }
+        }
+
+        private void CmbPageTextChangedEvent(object e)
+        {
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                if (ConverterPreview != null)
+                {
+                    string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                    var currentViewer = this.currentViewer;
+                    string PageRange = "";
+                    var PageRangeText = this.PageRangeText;
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        ConverterPreview.PageIndexLists.Add(0);
+
+                        return;
+                    }
+                    else
+                    {
+                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.CurrentIndex = 0;
+                    }
+                }
+            }
+        }
+
         private void radiobutton(string e) {
             string radioButton=e;
             if (radioButton != null) {

+ 78 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterHTMLDialogViewModel.cs

@@ -41,12 +41,18 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public DelegateCommand CancelCommand { get; set; }
 
         public DelegateCommand ConverterCommnad { get; set; }
+
+        public DelegateCommand<object> CmbPageSelectionChanged { get; set; }
+
+        public DelegateCommand<object> CmbPageTextChanged { get; set; }
         #endregion
 
         public ConverterHTMLDialogViewModel(IDialogService dialogService)
         {
             CancelCommand = new DelegateCommand(cancel);
             ConverterCommnad = new DelegateCommand(converter);
+            CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
+            CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
             dialogs = dialogService;
 
         }
@@ -84,6 +90,78 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
             });
         }
+
+        private void CmbPageSelectionChangedEvent(object e)
+        {
+            ///这里采用的是将预览UI控件传递过来的方式,为下下策
+            ///正确的方式应该是 通过声明一些属性,再通过绑定来更新预览控件对应值的形式
+            ///但是目前发现自定义控件的依赖属性绑定有些问题,因此先用此方法,将业务逻辑代码先调整到VM里
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                {
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+
+                }
+                if (PageRangeSelectIndex == "1")
+                {
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+                    this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                }
+                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.CurrentIndex = 0;
+            }
+        }
+
+        private void CmbPageTextChangedEvent(object e)
+        {
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                if (ConverterPreview != null)
+                {
+                    string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                    var currentViewer = this.currentViewer;
+                    string PageRange = "";
+                    var PageRangeText = this.PageRangeText;
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        ConverterPreview.PageIndexLists.Add(0);
+
+                        return;
+                    }
+                    else
+                    {
+                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.CurrentIndex = 0;
+                    }
+                }
+            }
+        }
         #endregion
 
         #region 构架行为

+ 120 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterImgDialogViewModel.cs

@@ -55,6 +55,21 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             }
         }
 
+        private int imageDPISelectedIndex;
+        /// <summary>
+        /// 图像类型的下拉框索引值
+        /// 如果只需要根据选中项的索引判断,则可以不用再采取command绑定命令的形式,而是可以通过一个int类型属性绑定的形式,然后在set方法里进行处理
+        /// </summary>
+        public int ImageDPISelectedIndex
+        {
+            get { return imageDPISelectedIndex; }
+            set
+            {
+                SetProperty(ref imageDPISelectedIndex, value);
+                
+                UpdateImageDPI(ImageDPISelectedIndex);
+            }
+        }
 
         private void SetImageTypeOrigin()
         {
@@ -84,12 +99,18 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public DelegateCommand CancelCommand { get; set; }
 
         public DelegateCommand ConverterCommnad { get; set; }
+
+        public DelegateCommand<object> CmbPageSelectionChanged { get; set; }
+
+        public DelegateCommand<object> CmbPageTextChanged { get; set; }
         #endregion
 
         public ConverterImgDialogViewModel(IDialogService dialogService)
         {
             CancelCommand = new DelegateCommand(cancel);
             ConverterCommnad = new DelegateCommand(converter);
+            CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
+            CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
             dialogs = dialogService;
         }
 
@@ -120,6 +141,33 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             }
         }
 
+        private void UpdateImageDPI(int index)
+        {
+            switch (index)
+            {
+                case 0:
+                    Trace.WriteLine("50");
+                    break;
+                case 1:
+                    Trace.WriteLine("72");
+                    break;
+                case 2:
+                    Trace.WriteLine("96");
+                    break;
+                case 3:
+                    Trace.WriteLine("150");
+                    break;
+                case 4:
+                    Trace.WriteLine("300");
+                    break;
+                case 5:
+                    Trace.WriteLine("600");
+                    break;
+                default:
+                    break;
+            }
+        }
+
         private void cancel()
         {
             RequestClose.Invoke(new DialogResult(ButtonResult.Cancel));
@@ -151,6 +199,78 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
             });
         }
+
+        private void CmbPageSelectionChangedEvent(object e)
+        {
+            ///这里采用的是将预览UI控件传递过来的方式,为下下策
+            ///正确的方式应该是 通过声明一些属性,再通过绑定来更新预览控件对应值的形式
+            ///但是目前发现自定义控件的依赖属性绑定有些问题,因此先用此方法,将业务逻辑代码先调整到VM里
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                {
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+
+                }
+                if (PageRangeSelectIndex == "1")
+                {
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+                    this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                }
+                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.CurrentIndex = 0;
+            }
+        }
+
+        private void CmbPageTextChangedEvent(object e)
+        {
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                if (ConverterPreview != null)
+                {
+                    string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                    var currentViewer = this.currentViewer;
+                    string PageRange = "";
+                    var PageRangeText = this.PageRangeText;
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        ConverterPreview.PageIndexLists.Add(0);
+
+                        return;
+                    }
+                    else
+                    {
+                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.CurrentIndex = 0;
+                    }
+                }
+            }
+        }
         #endregion
 
         #region 构架行为

+ 78 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterPPTDialogViewModel.cs

@@ -42,12 +42,18 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public DelegateCommand CancelCommand { get; set; }
 
         public DelegateCommand ConverterCommnad { get; set; }
+
+        public DelegateCommand<object> CmbPageSelectionChanged { get; set; }
+
+        public DelegateCommand<object> CmbPageTextChanged { get; set; }
         #endregion
 
         public ConverterPPTDialogViewModel(IDialogService dialogService)
         {
             CancelCommand = new DelegateCommand(cancel);
             ConverterCommnad = new DelegateCommand(converter);
+            CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
+            CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
             dialogs = dialogService;
         }
         #region 逻辑函数
@@ -82,6 +88,78 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
             });
         }
+
+        private void CmbPageSelectionChangedEvent(object e)
+        {
+            ///这里采用的是将预览UI控件传递过来的方式,为下下策
+            ///正确的方式应该是 通过声明一些属性,再通过绑定来更新预览控件对应值的形式
+            ///但是目前发现自定义控件的依赖属性绑定有些问题,因此先用此方法,将业务逻辑代码先调整到VM里
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                {
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+
+                }
+                if (PageRangeSelectIndex == "1")
+                {
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+                    this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                }
+                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.CurrentIndex = 0;
+            }
+        }
+
+        private void CmbPageTextChangedEvent(object e)
+        {
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                if (ConverterPreview != null)
+                {
+                    string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                    var currentViewer = this.currentViewer;
+                    string PageRange = "";
+                    var PageRangeText = this.PageRangeText;
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        ConverterPreview.PageIndexLists.Add(0);
+
+                        return;
+                    }
+                    else
+                    {
+                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.CurrentIndex = 0;
+                    }
+                }
+            }
+        }
         #endregion
 
         #region 构架行为

+ 78 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterRTFDialogViewModel.cs

@@ -40,12 +40,18 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public DelegateCommand CancelCommand { get; set; }
 
         public DelegateCommand ConverterCommnad { get; set; }
+
+        public DelegateCommand<object> CmbPageSelectionChanged { get; set; }
+
+        public DelegateCommand<object> CmbPageTextChanged { get; set; }
         #endregion
 
         public ConverterRTFDialogViewModel(IDialogService dialogService)
         {
             CancelCommand = new DelegateCommand(cancel);
             ConverterCommnad = new DelegateCommand(converter);
+            CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
+            CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
             dialogs = dialogService;
         }
 
@@ -81,6 +87,78 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
             });
         }
+
+        private void CmbPageSelectionChangedEvent(object e)
+        {
+            ///这里采用的是将预览UI控件传递过来的方式,为下下策
+            ///正确的方式应该是 通过声明一些属性,再通过绑定来更新预览控件对应值的形式
+            ///但是目前发现自定义控件的依赖属性绑定有些问题,因此先用此方法,将业务逻辑代码先调整到VM里
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                {
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+
+                }
+                if (PageRangeSelectIndex == "1")
+                {
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+                    this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                }
+                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.CurrentIndex = 0;
+            }
+        }
+
+        private void CmbPageTextChangedEvent(object e)
+        {
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                if (ConverterPreview != null)
+                {
+                    string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                    var currentViewer = this.currentViewer;
+                    string PageRange = "";
+                    var PageRangeText = this.PageRangeText;
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        ConverterPreview.PageIndexLists.Add(0);
+
+                        return;
+                    }
+                    else
+                    {
+                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.CurrentIndex = 0;
+                    }
+                }
+            }
+        }
         #endregion
 
         #region 构架行为

+ 78 - 0
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterTextDialogViewModel.cs

@@ -43,12 +43,18 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public DelegateCommand CancelCommand { get; set; }
 
         public DelegateCommand ConverterCommnad { get; set; }
+
+        public DelegateCommand<object> CmbPageSelectionChanged { get; set; }
+
+        public DelegateCommand<object> CmbPageTextChanged { get; set; }
         #endregion
 
         public ConverterTextDialogViewModel(IDialogService dialogService)
         {
             CancelCommand = new DelegateCommand(cancel);
             ConverterCommnad = new DelegateCommand(converter);
+            CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
+            CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
             dialogs = dialogService;
         }
         #region 逻辑函数
@@ -82,6 +88,78 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
             });
         }
+
+        private void CmbPageSelectionChangedEvent(object e)
+        {
+            ///这里采用的是将预览UI控件传递过来的方式,为下下策
+            ///正确的方式应该是 通过声明一些属性,再通过绑定来更新预览控件对应值的形式
+            ///但是目前发现自定义控件的依赖属性绑定有些问题,因此先用此方法,将业务逻辑代码先调整到VM里
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                {
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+
+                }
+                if (PageRangeSelectIndex == "1")
+                {
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+                    this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                }
+                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.CurrentIndex = 0;
+            }
+        }
+
+        private void CmbPageTextChangedEvent(object e)
+        {
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                if (ConverterPreview != null)
+                {
+                    string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                    var currentViewer = this.currentViewer;
+                    string PageRange = "";
+                    var PageRangeText = this.PageRangeText;
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        ConverterPreview.PageIndexLists.Add(0);
+
+                        return;
+                    }
+                    else
+                    {
+                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.CurrentIndex = 0;
+                    }
+                }
+            }
+        }
         #endregion
 
         #region 构架行为

+ 79 - 1
PDF Office/ViewModels/Dialog/ConverterDialogs/ConverterWordDialogViewModel.cs

@@ -43,6 +43,10 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
         public DelegateCommand CancelCommand { get; set; }
 
         public DelegateCommand ConverterCommnad { get; set; }
+
+        public DelegateCommand<object> CmbPageSelectionChanged { get; set; }
+
+        public DelegateCommand<object> CmbPageTextChanged { get; set; }
         #endregion
 
         public ConverterWordDialogViewModel(IDialogService dialogService)
@@ -50,6 +54,8 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
             CancelCommand = new DelegateCommand(cancel);
             ConverterCommnad = new DelegateCommand(converter);
             RadioButtonCommand = new DelegateCommand<string>(radiobutton);
+            CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
+            CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
             dialogs = dialogService;
         }
         #region 逻辑函数
@@ -83,7 +89,79 @@ namespace PDF_Office.ViewModels.Dialog.ConverterDialogs
 
             });
         }
-        
+
+        private void CmbPageSelectionChangedEvent(object e)
+        {
+            ///这里采用的是将预览UI控件传递过来的方式,为下下策
+            ///正确的方式应该是 通过声明一些属性,再通过绑定来更新预览控件对应值的形式
+            ///但是目前发现自定义控件的依赖属性绑定有些问题,因此先用此方法,将业务逻辑代码先调整到VM里
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
+                {
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+
+                }
+                if (PageRangeSelectIndex == "1")
+                {
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+                    this.CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                }
+                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ConverterPreview.CurrentIndex = 0;
+            }
+        }
+
+        private void CmbPageTextChangedEvent(object e)
+        {
+            var ConverterPreview = e as PageTurningPreview;
+            if (ConverterPreview != null)
+            {
+                if (ConverterPreview != null)
+                {
+                    string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                    var currentViewer = this.currentViewer;
+                    string PageRange = "";
+                    var PageRangeText = this.PageRangeText;
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+
+                    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        ConverterPreview.PageIndexLists.Add(0);
+
+                        return;
+                    }
+                    else
+                    {
+                        ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
+                        ConverterPreview.CurrentIndex = 0;
+                    }
+                }
+            }
+        }
+
         private void radiobutton(string e)
         {
             string radioButton = e;

+ 67 - 0
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageExtractDialogViewModel.cs

@@ -46,6 +46,10 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         public DelegateCommand ExtractToSingleFileCommand { get; set; }
 
         public DelegateCommand DeleteAfterExtractCommand { get; set; }
+
+        public DelegateCommand<object> CmbPageSelectionChanged { get; set; }
+
+        public DelegateCommand<object> CmbPageTextChanged { get; set; }
         #endregion
 
         public HomePageExtractDialogViewModel()
@@ -54,6 +58,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             ExtractCommand = new DelegateCommand(extract);
             ExtractToSingleFileCommand = new DelegateCommand(extractToSingleFile);
             DeleteAfterExtractCommand = new DelegateCommand(deleteAfterExtract);
+            CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
+            CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
 
         }
         #region 逻辑函数
@@ -135,6 +141,67 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             }
 
         }
+
+        private void CmbPageSelectionChangedEvent(object e)
+        {
+            ///这里采用的是将预览UI控件传递过来的方式,为下下策
+            ///正确的方式应该是 通过声明一些属性,再通过绑定来更新预览控件对应值的形式
+            ///但是目前发现自定义控件的依赖属性绑定有些问题,因此先用此方法,将业务逻辑代码先调整到VM里
+            var ExtractPreview = e as PageTurningPreview;
+            if (ExtractPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "1" || PageRangeSelectIndex == "2")
+                {
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref ExtractPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
+
+                }
+                ExtractPreview.PageIndex.Text = (ExtractPreview.PageIndexLists.Last<int>() + 1).ToString();
+                ExtractPreview.CurrentIndex = 0;
+                ExtractPreview.CurrentPage.Text = (ExtractPreview.PageIndexLists[ExtractPreview.CurrentIndex] + 1).ToString();
+                ExtractPreview.AwaitRenderBitmap(ExtractPreview.document);
+            }
+        }
+
+        private void CmbPageTextChangedEvent(object e)
+        {
+            var ExtractPreview = e as PageTurningPreview;
+            if (ExtractPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText);
+                char[] enumerationSeparator = new char[] { ',' };
+                char[] rangeSeparator = new char[] { '-' };
+
+                if (!CommonHelper.GetPagesInRange(ref ExtractPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                { //TODO
+                    ExtractPreview.PageIndexLists.Add(0);
+
+                    return;
+                }
+                else
+                {
+                    ExtractPreview.PageIndex.Text = (ExtractPreview.PageIndexLists.Last<int>() + 1).ToString();
+                    ExtractPreview.CurrentIndex = 0;
+                    ExtractPreview.CurrentPage.Text = (ExtractPreview.PageIndexLists[ExtractPreview.CurrentIndex] + 1).ToString();
+                    ExtractPreview.AwaitRenderBitmap(ExtractPreview.document);
+                }
+            }
+        }
         #endregion
 
         #region 框架行为

+ 99 - 30
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageSplitDialogViewModel.cs

@@ -9,6 +9,7 @@ using PDF_Office.Helper;
 using System.Diagnostics;
 using PDF_Office.CustomControl;
 using PDF_Office.Model.HomePageToolsDialogs;
+using System.Linq;
 
 namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
 {
@@ -26,7 +27,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         private string savefilename { get; set; }
 
         public string PageRangeText { set; get; } = "0";
-        
+
         public string PageRangeSelectIndex { set; get; } = "0";
 
         private string averagePagesIsCheck = "True";
@@ -92,7 +93,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         public string AveragePagesText { set; get; } = "";
 
         public string AverageFilesText { set; get; } = "";
-        
+
 
         private string filePathName = "";
         public string FilePathName
@@ -104,14 +105,14 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             }
         }
 
-        public string FileNameLabelText{ set; get; } = "part";
-        
+        public string FileNameLabelText { set; get; } = "part";
+
+
+        public string FileNameDeimiterText { set; get; } = "-";
 
-        public string FileNameDeimiterText{ set; get; } = "-";
-        
 
         public string FrontFileIsCheck { set; get; } = "True";
-       
+
         public string FileNameLabelIsCheck { set; get; } = "True";
 
         public string FileNameDeimiterIsCheck { set; get; } = "True";
@@ -157,6 +158,10 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
         public DelegateCommand FileNameDeimiterChangeCommand { get; set; }
 
         public DelegateCommand FileNameLabelChangeCommand { get; set; }
+
+        public DelegateCommand<object> CmbPageSelectionChanged { get; set; }
+
+        public DelegateCommand<object> CmbPageTextChanged { get; set; }
         #endregion
 
         public HomePageSplitDialogViewModel()
@@ -171,6 +176,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
             FileNameDeimiterCommand = new DelegateCommand(fileNameDeimiter);
             FileNameDeimiterChangeCommand = new DelegateCommand(fileNameDeimiter);
             FileNameLabelChangeCommand = new DelegateCommand(fileNameLabel);
+            CmbPageSelectionChanged = new DelegateCommand<object>(CmbPageSelectionChangedEvent);
+            CmbPageTextChanged = new DelegateCommand<object>(CmbPageTextChangedEvent);
 
 
         }
@@ -423,38 +430,100 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs
                 }
             }
         }
-        #endregion
 
-        #region 构架行为
-        public string Title => "";
+        private void CmbPageSelectionChangedEvent(object e)
+        {
+            ///这里采用的是将预览UI控件传递过来的方式,为下下策
+            ///正确的方式应该是 通过声明一些属性,再通过绑定来更新预览控件对应值的形式
+            ///但是目前发现自定义控件的依赖属性绑定有些问题,因此先用此方法,将业务逻辑代码先调整到VM里
+            var SplitPreview = e as PageTurningPreview;
+            if (SplitPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "1" || PageRangeSelectIndex == "2")
+                {
+                    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText);
+                    char[] enumerationSeparator = new char[] { ',' };
+                    char[] rangeSeparator = new char[] { '-' };
+                    if (!CommonHelper.GetPagesInRange(ref SplitPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                    { //TODO
+                        Trace.WriteLine("输入不对");
+                        MessageBoxEx.Show("输入不对");
+                        return;
+                    }
 
-        public event Action<IDialogResult> RequestClose;
+                }
+                SplitPreview.PageIndex.Text = (SplitPreview.PageIndexLists.Last<int>() + 1).ToString();
+                SplitPreview.CurrentIndex = 0;
+                SplitPreview.CurrentPage.Text = (SplitPreview.PageIndexLists[SplitPreview.CurrentIndex] + 1).ToString();
+                SplitPreview.AwaitRenderBitmap(SplitPreview.document);
+            }
+        }
 
-        public bool CanCloseDialog()
+        private void CmbPageTextChangedEvent(object e)
         {
-            return true;
+            var SplitPreview = e as PageTurningPreview;
+            if (SplitPreview != null)
+            {
+                string PageRangeSelectIndex = this.PageRangeSelectIndex;
+                var currentViewer = this.currentViewer;
+                string PageRange = "";
+                var PageRangeText = this.PageRangeText;
+                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText);
+                char[] enumerationSeparator = new char[] { ',' };
+                char[] rangeSeparator = new char[] { '-' };
+
+                if (!CommonHelper.GetPagesInRange(ref SplitPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
+                { //TODO
+                    SplitPreview.PageIndexLists.Add(0);
+
+                    return;
+                }
+                else
+                {
+                    SplitPreview.PageIndex.Text = (SplitPreview.PageIndexLists.Last<int>() + 1).ToString();
+                    SplitPreview.CurrentIndex = 0;
+                    SplitPreview.CurrentPage.Text = (SplitPreview.PageIndexLists[SplitPreview.CurrentIndex] + 1).ToString();
+                    SplitPreview.AwaitRenderBitmap(SplitPreview.document);
+                }
+            }
         }
+    
+    #endregion
 
-        public void OnDialogClosed()
-        {
+    #region 构架行为
+    public string Title => "";
 
-        }
+    public event Action<IDialogResult> RequestClose;
 
-        public void OnDialogOpened(IDialogParameters parameters)
+    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)
         {
-            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)
-            {
-                currentViewer = viewer;
-                document = viewer.Document;
-                savefilename = currentViewer.Document.FileName;
-                FilePathName = savefilename + "-" + "part" + ".pdf";
-                savefilepath = filepath.Replace(savefilename + ".pdf", "");
-            }
+            currentViewer = viewer;
+            document = viewer.Document;
+            savefilename = currentViewer.Document.FileName;
+            FilePathName = savefilename + "-" + "part" + ".pdf";
+            savefilepath = filepath.Replace(savefilename + ".pdf", "");
         }
-        #endregion
     }
+    #endregion
+}
 }

+ 0 - 64
PDF Office/Views/Dialog/ConverterDialogs/ConverterCSVDialog.xaml.cs

@@ -42,70 +42,6 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
                 
             }
-            //PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            //PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
-        }
-
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-
-            //string PageRangeSelectIndex = ((ConverterCSVDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            //var currentViewer = ((ConverterCSVDialogViewModel)this.DataContext).currentViewer;
-            //string PageRange = "";
-            //var PageRangeText = ((ConverterCSVDialogViewModel)this.DataContext).PageRangeText;
-            //HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-            //char[] enumerationSeparator = new char[] { ',' };
-            //char[] rangeSeparator = new char[] { '-' };
-           
-            //if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            //{ //TODO
-            //    ConverterPreview.PageIndexLists.Add(0);
-
-            //    return;
-            //}
-            //else {
-            //    ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            //    ConverterPreview.CurrentIndex = 0;
-            //    ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-            //    ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
-            //}
-            
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) {
-            
-            //string PageRangeSelectIndex = ((ConverterCSVDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            //var currentViewer = ((ConverterCSVDialogViewModel)this.DataContext).currentViewer;
-            //string PageRange = "";
-            //var PageRangeText=((ConverterCSVDialogViewModel)this.DataContext).PageRangeText;
-            //if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
-            //{
-            //    HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-            //    char[] enumerationSeparator = new char[] { ',' };
-            //    char[] rangeSeparator = new char[] { '-' };
-            //    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            //    { //TODO
-            //        Trace.WriteLine("输入不对");
-            //        MessageBoxEx.Show("输入不对");
-            //        return;
-            //    }
-                
-            //}
-            //if (PageRangeSelectIndex == "1") {
-            //    char[] enumerationSeparator = new char[] { ',' };
-            //    char[] rangeSeparator = new char[] { '-' };
-            //    if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex]+1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            //    { //TODO
-            //        Trace.WriteLine("输入不对");
-            //        MessageBoxEx.Show("输入不对");
-            //        return;
-            //    }
-            //   ((ConverterCSVDialogViewModel)this.DataContext).CurrentPageIndex= (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            //}
-            //ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            //ConverterPreview.CurrentIndex = 0;
-            //ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-            //ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
         }
     }
 }

+ 9 - 0
PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml

@@ -3,6 +3,7 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:cus="clr-namespace:PDF_Office.CustomControl"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
              xmlns:local="clr-namespace:PDF_Office.Views.Dialog.PageEditDialogs"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:pageeditdialogs="clr-namespace:PDF_Office.ViewModels.Dialog.PageEditDialogs"
@@ -58,6 +59,14 @@
                             <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                                 <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
                                 <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="28.55" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                                    <i:Interaction.Triggers>
+                                        <i:EventTrigger EventName="SelectionChanged">
+                                            <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                        </i:EventTrigger>
+                                        <i:EventTrigger EventName="TextChanged">
+                                            <i:InvokeCommandAction Command="{Binding CmbPageTextChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                        </i:EventTrigger>
+                                    </i:Interaction.Triggers>
                                 </cus:WritableComboBox>
                             </StackPanel>
                         </StackPanel>

+ 0 - 67
PDF Office/Views/Dialog/ConverterDialogs/ConverterExcelDialog.xaml.cs

@@ -42,73 +42,6 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }
-            PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
-        }
-
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterExcelDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterExcelDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterExcelDialogViewModel)this.DataContext).PageRangeText;
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-            char[] enumerationSeparator = new char[] { ',' };
-            char[] rangeSeparator = new char[] { '-' };
-
-            if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            { //TODO
-                ConverterPreview.PageIndexLists.Add(0);
-
-                return;
-            }
-            else
-            {
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-                ConverterPreview.CurrentIndex = 0;
-                ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-                ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
-            }
-
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterExcelDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterExcelDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterExcelDialogViewModel)this.DataContext).PageRangeText;
-            if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
-            {
-                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-
-            }
-            if (PageRangeSelectIndex == "1")
-            {
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-               ((ConverterExcelDialogViewModel)this.DataContext).CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            }
-            ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            ConverterPreview.CurrentIndex = 0;
-            ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-            ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
         }
 
         private void OnlyTableComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)

+ 9 - 0
PDF Office/Views/Dialog/ConverterDialogs/ConverterHTMLDialog.xaml

@@ -3,6 +3,7 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:cus="clr-namespace:PDF_Office.CustomControl"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
              xmlns:local="clr-namespace:PDF_Office.Views.Dialog.PageEditDialogs"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:pageeditdialogs="clr-namespace:PDF_Office.ViewModels.Dialog.PageEditDialogs"
@@ -38,6 +39,14 @@
                         <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                             <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
                             <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="28.55" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                                <i:Interaction.Triggers>
+                                    <i:EventTrigger EventName="SelectionChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                    <i:EventTrigger EventName="TextChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageTextChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                </i:Interaction.Triggers>
                             </cus:WritableComboBox>
                         </StackPanel>
                     </StackPanel>

+ 0 - 67
PDF Office/Views/Dialog/ConverterDialogs/ConverterHTMLDialog.xaml.cs

@@ -42,73 +42,6 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }
-            PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
-        }
-
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterHTMLDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterHTMLDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterHTMLDialogViewModel)this.DataContext).PageRangeText;
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-            char[] enumerationSeparator = new char[] { ',' };
-            char[] rangeSeparator = new char[] { '-' };
-
-            if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            { //TODO
-                ConverterPreview.PageIndexLists.Add(0);
-
-                return;
-            }
-            else
-            {
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-                ConverterPreview.CurrentIndex = 0;
-                ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-                ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
-            }
-
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterHTMLDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterHTMLDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterHTMLDialogViewModel)this.DataContext).PageRangeText;
-            if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
-            {
-                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-
-            }
-            if (PageRangeSelectIndex == "1")
-            {
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-               ((ConverterHTMLDialogViewModel)this.DataContext).CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            }
-            ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            ConverterPreview.CurrentIndex = 0;
-            ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-            ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
         }
     }
 }

+ 14 - 4
PDF Office/Views/Dialog/ConverterDialogs/ConverterImgDialog.xaml

@@ -5,6 +5,7 @@
     xmlns:converterdialogs="clr-namespace:PDF_Office.ViewModels.Dialog.ConverterDialogs"
     xmlns:cus="clr-namespace:PDF_Office.CustomControl"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
     xmlns:local="clr-namespace:PDF_Office.Views.Dialog.PageEditDialogs"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:pageeditdialogs="clr-namespace:PDF_Office.ViewModels.Dialog.PageEditDialogs"
@@ -43,7 +44,7 @@
                                 HorizontalAlignment="Left"
                                 ItemsSource="{Binding ImageTypeFamily}"
                                 SelectedIndex="{Binding ImageTypeSelectedIndex, Mode=TwoWay}"
-                                SelectionChanged="ImageTypeComboBox_SelectionChanged" />
+                                />
                             <ComboBox
                                 Name="ImageDPIComboBox"
                                 Width="228"
@@ -51,8 +52,8 @@
                                 Margin="0,8,0,0"
                                 HorizontalAlignment="Left"
                                 ItemsSource="{Binding ImageDPIFamily}"
-                                SelectedIndex="0"
-                                SelectionChanged="ImageDPIComboBox_SelectionChanged" />
+                                SelectedIndex="{Binding ImageDPISelectedIndex, Mode=TwoWay}"
+                                />
                         </StackPanel>
                         <StackPanel Margin="0,16,0,0">
                             <TextBlock
@@ -69,7 +70,16 @@
                                 IsCurrentPage="True"
                                 Loaded="PageRangeComboBox_Loaded"
                                 SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}"
-                                Text="{Binding PageRangeText, Mode=TwoWay}" />
+                                Text="{Binding PageRangeText, Mode=TwoWay}" >
+                                <i:Interaction.Triggers>
+                                    <i:EventTrigger EventName="SelectionChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                    <i:EventTrigger EventName="TextChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageTextChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                </i:Interaction.Triggers>
+                            </cus:WritableComboBox>
                         </StackPanel>
                     </StackPanel>
                 </Grid>

+ 0 - 125
PDF Office/Views/Dialog/ConverterDialogs/ConverterImgDialog.xaml.cs

@@ -43,132 +43,7 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }
-            PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
         }
 
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterImgDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterImgDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterImgDialogViewModel)this.DataContext).PageRangeText;
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-            char[] enumerationSeparator = new char[] { ',' };
-            char[] rangeSeparator = new char[] { '-' };
-
-            if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            { //TODO
-                ConverterPreview.PageIndexLists.Add(0);
-
-                return;
-            }
-            else
-            {
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-                ConverterPreview.CurrentIndex = 0;
-                ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-                ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
-            }
-
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterImgDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterImgDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterImgDialogViewModel)this.DataContext).PageRangeText;
-            if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
-            {
-                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-
-            }
-            if (PageRangeSelectIndex == "1")
-            {
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-               ((ConverterImgDialogViewModel)this.DataContext).CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            }
-            ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            ConverterPreview.CurrentIndex = 0;
-            ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-            ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
-        }
-
-        private void ImageTypeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-            //switch (ImageTypeComboBox.SelectedIndex)
-            //{
-            //    case 0:
-            //        ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG;
-            //        break;
-            //    case 1:
-            //        ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG;
-            //        break;
-            //    case 2:
-            //        ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.PNG;
-            //        break;
-            //    case 3:
-            //        ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG;
-            //        break;
-            //    case 4:
-            //        ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG;
-            //        break;
-            //    case 5:
-            //        ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG;
-            //        break;
-            //    case 6:
-            //        ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG;
-            //        break;
-            //    case 7:
-            //        ((ConverterImgDialogViewModel)this.DataContext).ConverterImgModel.Type = ImgType.JPEG;
-            //        break;
-            //    default:
-            //        break;
-            //}
-        }
-        private void ImageDPIComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-            switch (ImageDPIComboBox.SelectedIndex)
-            {
-                case 0:
-                    Trace.WriteLine("50");
-                    break;
-                case 1:
-                    Trace.WriteLine("72");
-                    break;
-                case 2:
-                    Trace.WriteLine("96");
-                    break;
-                case 3:
-                    Trace.WriteLine("150");
-                    break;
-                case 4:
-                    Trace.WriteLine("300");
-                    break;
-                case 5:
-                    Trace.WriteLine("600");
-                    break;
-                default:
-                    break;
-            }
-        }
     }
 }

+ 9 - 0
PDF Office/Views/Dialog/ConverterDialogs/ConverterPPTDialog.xaml

@@ -3,6 +3,7 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:cus="clr-namespace:PDF_Office.CustomControl"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
              xmlns:local="clr-namespace:PDF_Office.Views.Dialog.PageEditDialogs"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:pageeditdialogs="clr-namespace:PDF_Office.ViewModels.Dialog.PageEditDialogs"
@@ -38,6 +39,14 @@
                         <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                             <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
                             <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="28.55" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                                <i:Interaction.Triggers>
+                                    <i:EventTrigger EventName="SelectionChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                    <i:EventTrigger EventName="TextChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageTextChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                </i:Interaction.Triggers>
                             </cus:WritableComboBox>
                         </StackPanel>
                     </StackPanel>

+ 0 - 67
PDF Office/Views/Dialog/ConverterDialogs/ConverterPPTDialog.xaml.cs

@@ -42,73 +42,6 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }
-            PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
-        }
-
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterPPTDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterPPTDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterPPTDialogViewModel)this.DataContext).PageRangeText;
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-            char[] enumerationSeparator = new char[] { ',' };
-            char[] rangeSeparator = new char[] { '-' };
-
-            if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            { //TODO
-                ConverterPreview.PageIndexLists.Add(0);
-
-                return;
-            }
-            else
-            {
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-                ConverterPreview.CurrentIndex = 0;
-                ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-                ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
-            }
-
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterPPTDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterPPTDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterPPTDialogViewModel)this.DataContext).PageRangeText;
-            if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
-            {
-                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-
-            }
-            if (PageRangeSelectIndex == "1")
-            {
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-               ((ConverterPPTDialogViewModel)this.DataContext).CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            }
-            ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            ConverterPreview.CurrentIndex = 0;
-            ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-            ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
         }
     }
 }

+ 9 - 0
PDF Office/Views/Dialog/ConverterDialogs/ConverterRTFDialog.xaml

@@ -3,6 +3,7 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:cus="clr-namespace:PDF_Office.CustomControl"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
              xmlns:local="clr-namespace:PDF_Office.Views.Dialog.PageEditDialogs"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:pageeditdialogs="clr-namespace:PDF_Office.ViewModels.Dialog.PageEditDialogs"
@@ -38,6 +39,14 @@
                         <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                             <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
                             <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="28.55" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                                <i:Interaction.Triggers>
+                                    <i:EventTrigger EventName="SelectionChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                    <i:EventTrigger EventName="TextChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageTextChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                </i:Interaction.Triggers>
                             </cus:WritableComboBox>
                         </StackPanel>
                     </StackPanel>

+ 0 - 65
PDF Office/Views/Dialog/ConverterDialogs/ConverterRTFDialog.xaml.cs

@@ -43,71 +43,6 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }
-            PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
-        }
-
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-            
-            string PageRangeSelectIndex = ((ConverterRTFDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterRTFDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterRTFDialogViewModel)this.DataContext).PageRangeText;
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-            char[] enumerationSeparator = new char[] { ',' };
-            char[] rangeSeparator = new char[] { '-' };
-            if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            { //TODO
-                ConverterPreview.PageIndexLists.Add(0);
-                return;
-            }
-            else
-            {
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-                ConverterPreview.CurrentIndex = 0;
-                ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-                ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
-            }
-
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterRTFDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterRTFDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterRTFDialogViewModel)this.DataContext).PageRangeText;
-            if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
-            {
-                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-
-            }
-            if (PageRangeSelectIndex == "1")
-            {
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-               ((ConverterRTFDialogViewModel)this.DataContext).CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            }
-            ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            ConverterPreview.CurrentIndex = 0;
-            ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-            ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
         }
     }
 }

+ 9 - 0
PDF Office/Views/Dialog/ConverterDialogs/ConverterTextDialog.xaml

@@ -3,6 +3,7 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:cus="clr-namespace:PDF_Office.CustomControl"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
              xmlns:local="clr-namespace:PDF_Office.Views.Dialog.PageEditDialogs"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:pageeditdialogs="clr-namespace:PDF_Office.ViewModels.Dialog.PageEditDialogs"
@@ -38,6 +39,14 @@
                         <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                             <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
                             <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="28.55" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                                <i:Interaction.Triggers>
+                                    <i:EventTrigger EventName="SelectionChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                    <i:EventTrigger EventName="TextChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageTextChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                    </i:EventTrigger>
+                                </i:Interaction.Triggers>
                             </cus:WritableComboBox>
                         </StackPanel>
                     </StackPanel>

+ 0 - 67
PDF Office/Views/Dialog/ConverterDialogs/ConverterTextDialog.xaml.cs

@@ -42,73 +42,6 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }
-            PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
-        }
-
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterTextDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterTextDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterTextDialogViewModel)this.DataContext).PageRangeText;
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-            char[] enumerationSeparator = new char[] { ',' };
-            char[] rangeSeparator = new char[] { '-' };
-
-            if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            { //TODO
-                ConverterPreview.PageIndexLists.Add(0);
-
-                return;
-            }
-            else
-            {
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-                ConverterPreview.CurrentIndex = 0;
-                ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-                ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
-            }
-
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterTextDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterTextDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterTextDialogViewModel)this.DataContext).PageRangeText;
-            if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
-            {
-                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-
-            }
-            if (PageRangeSelectIndex == "1")
-            {
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-               ((ConverterTextDialogViewModel)this.DataContext).CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            }
-            ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            ConverterPreview.CurrentIndex = 0;
-            ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-            ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
         }
     }
 }

+ 9 - 0
PDF Office/Views/Dialog/ConverterDialogs/ConverterWordDialog.xaml

@@ -3,6 +3,7 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:cus="clr-namespace:PDF_Office.CustomControl"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
              xmlns:local="clr-namespace:PDF_Office.Views.Dialog.PageEditDialogs"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:pageeditdialogs="clr-namespace:PDF_Office.ViewModels.Dialog.PageEditDialogs"
@@ -50,6 +51,14 @@
                             <StackPanel Orientation="Vertical" Margin="0,14,0,0">
                                 <TextBlock Text="页面范围" Height="20" Width="48" HorizontalAlignment="Left"/>
                                 <cus:WritableComboBox x:Name="PageRangeComboBox" Margin="0,4,0,0" Width="228" Height="28.55" HorizontalAlignment="Left" IsCurrentPage="True" Text="{Binding PageRangeText, Mode=TwoWay}"  SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="PageRangeComboBox_Loaded">
+                                    <i:Interaction.Triggers>
+                                        <i:EventTrigger EventName="SelectionChanged">
+                                            <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                        </i:EventTrigger>
+                                        <i:EventTrigger EventName="TextChanged">
+                                            <i:InvokeCommandAction Command="{Binding CmbPageTextChanged}" CommandParameter="{Binding ElementName=ConverterPreview}" />
+                                        </i:EventTrigger>
+                                    </i:Interaction.Triggers>
                                 </cus:WritableComboBox>
                             </StackPanel>
                         </StackPanel>

+ 0 - 67
PDF Office/Views/Dialog/ConverterDialogs/ConverterWordDialog.xaml.cs

@@ -42,73 +42,6 @@ namespace PDF_Office.Views.Dialog.ConverterDialogs
                 PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
 
             }
-            PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
-        }
-
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterWordDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterWordDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterWordDialogViewModel)this.DataContext).PageRangeText;
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-            char[] enumerationSeparator = new char[] { ',' };
-            char[] rangeSeparator = new char[] { '-' };
-
-            if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            { //TODO
-                ConverterPreview.PageIndexLists.Add(0);
-
-                return;
-            }
-            else
-            {
-                ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-                ConverterPreview.CurrentIndex = 0;
-                ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-                ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
-            }
-
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((ConverterWordDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((ConverterWordDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((ConverterWordDialogViewModel)this.DataContext).PageRangeText;
-            if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "2" || PageRangeSelectIndex == "3")
-            {
-                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText, true);
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-
-            }
-            if (PageRangeSelectIndex == "1")
-            {
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ConverterPreview.PageIndexLists, (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString(), currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-               ((ConverterWordDialogViewModel)this.DataContext).CurrentPageIndex = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            }
-            ConverterPreview.PageIndex.Text = (ConverterPreview.PageIndexLists.Last<int>() + 1).ToString();
-            ConverterPreview.CurrentIndex = 0;
-            ConverterPreview.CurrentPage.Text = (ConverterPreview.PageIndexLists[ConverterPreview.CurrentIndex] + 1).ToString();
-            ConverterPreview.AwaitRenderBitmap(ConverterPreview.document);
         }
     }
 }

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

@@ -1,6 +1,7 @@
 <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:i="http://schemas.microsoft.com/xaml/behaviors"
              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"
@@ -35,7 +36,16 @@
                     <Grid Grid.Row="0">
                         <StackPanel Orientation="Vertical" Margin="0,40,0,0">
                             <TextBlock Text="页面范围" FontWeight="ExtraBlack" Width="56" Height="22" HorizontalAlignment="Left"/>
-                            <cus:WritableComboBox x:Name="PageRangeComboBox" Width="208" Height="32" HorizontalAlignment="Left" Margin="0,20,0,0" Text="{Binding PageRangeText,Mode=TwoWay}" SelectedIndex="{Binding PageRangeSelectIndex,Mode=TwoWay}" Loaded="WritableComboBox_Loaded"></cus:WritableComboBox>
+                            <cus:WritableComboBox x:Name="PageRangeComboBox" Width="208" Height="32" HorizontalAlignment="Left" Margin="0,20,0,0" Text="{Binding PageRangeText,Mode=TwoWay}" SelectedIndex="{Binding PageRangeSelectIndex,Mode=TwoWay}" >
+                                <i:Interaction.Triggers>
+                                    <i:EventTrigger EventName="SelectionChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=ExtractPreview}" />
+                                    </i:EventTrigger>
+                                    <i:EventTrigger EventName="TextChanged">
+                                        <i:InvokeCommandAction Command="{Binding CmbPageTextChanged}" CommandParameter="{Binding ElementName=ExtractPreview}" />
+                                    </i:EventTrigger>
+                                </i:Interaction.Triggers>
+                            </cus:WritableComboBox>
                         </StackPanel>
                     </Grid>
                     <Grid Grid.Row="1">

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

@@ -45,65 +45,5 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
             ExtractPreview.PageIndex.Text = ExtractPreview.document.PageCount.ToString();
 
         }
-
-        private void WritableComboBox_Loaded(object sender, RoutedEventArgs e)
-        {
-
-            PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
-        }
-
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((HomePageExtractDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((HomePageExtractDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((HomePageExtractDialogViewModel)this.DataContext).PageRangeText;
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText);
-            char[] enumerationSeparator = new char[] { ',' };
-            char[] rangeSeparator = new char[] { '-' };
-
-            if (!CommonHelper.GetPagesInRange(ref ExtractPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            { //TODO
-                ExtractPreview.PageIndexLists.Add(0);
-
-                return;
-            }
-            else
-            {
-                ExtractPreview.PageIndex.Text = (ExtractPreview.PageIndexLists.Last<int>() + 1).ToString();
-                ExtractPreview.CurrentIndex = 0;
-                ExtractPreview.CurrentPage.Text = (ExtractPreview.PageIndexLists[ExtractPreview.CurrentIndex] + 1).ToString();
-                ExtractPreview.AwaitRenderBitmap(ExtractPreview.document);
-            }
-
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((HomePageExtractDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((HomePageExtractDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((HomePageExtractDialogViewModel)this.DataContext).PageRangeText;
-            if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "1" || PageRangeSelectIndex == "2")
-            {
-                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText);
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref ExtractPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-
-            }
-            ExtractPreview.PageIndex.Text = (ExtractPreview.PageIndexLists.Last<int>() + 1).ToString();
-            ExtractPreview.CurrentIndex = 0;
-            ExtractPreview.CurrentPage.Text = (ExtractPreview.PageIndexLists[ExtractPreview.CurrentIndex] + 1).ToString();
-            ExtractPreview.AwaitRenderBitmap(ExtractPreview.document);
-        }
     }
 }

+ 11 - 1
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageSplitDialog.xaml

@@ -2,6 +2,7 @@
    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:i="http://schemas.microsoft.com/xaml/behaviors"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:cus="clr-namespace:PDF_Office.CustomControl"
              xmlns:prism="http://prismlibrary.com/"             
@@ -50,7 +51,16 @@
                             <StackPanel Orientation="Horizontal">
                                 <RadioButton VerticalAlignment="Center" IsChecked="{Binding CustomPageRangeIsCheck}" Command="{Binding CustomPageRangeCommand}"></RadioButton>
                                 <TextBlock Text="按特定页面拆分" VerticalAlignment="Center"></TextBlock>
-                                <cus:WritableComboBox x:Name="PageRangeComboBox"  Height="32" Width="183" Text="{Binding PageRangeText, Mode=TwoWay}" IsEnabled="{Binding CustomPageRangeIsEnabled}" SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}" Loaded="WritableComboBox_Loaded"/>
+                                <cus:WritableComboBox x:Name="PageRangeComboBox"  Height="32" Width="183" Text="{Binding PageRangeText, Mode=TwoWay}" IsEnabled="{Binding CustomPageRangeIsEnabled}" SelectedIndex="{Binding PageRangeSelectIndex, Mode=TwoWay}">
+                                    <i:Interaction.Triggers>
+                                        <i:EventTrigger EventName="SelectionChanged">
+                                            <i:InvokeCommandAction Command="{Binding CmbPageSelectionChanged}" CommandParameter="{Binding ElementName=SplitPreview}" />
+                                        </i:EventTrigger>
+                                        <i:EventTrigger EventName="TextChanged">
+                                            <i:InvokeCommandAction Command="{Binding CmbPageTextChanged}" CommandParameter="{Binding ElementName=SplitPreview}" />
+                                        </i:EventTrigger>
+                                    </i:Interaction.Triggers>
+                                </cus:WritableComboBox>
                             </StackPanel>
                         </StackPanel>
                     </Grid>

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

@@ -69,65 +69,5 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
             SplitPreview.PageIndex.Text = SplitPreview.document.PageCount.ToString();
            
         }
-
-        private void WritableComboBox_Loaded(object sender, RoutedEventArgs e)
-        {
-
-            PageRangeComboBox.writableComboBox.SelectionChanged += PageRangeComboBox_SelectionChanged;
-            PageRangeComboBox.writableTextBox.TextChanged += WritableTextBox_TextChanged;
-        }
-
-        private void WritableTextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((HomePageSplitDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((HomePageSplitDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((HomePageSplitDialogViewModel)this.DataContext).PageRangeText;
-            HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText);
-            char[] enumerationSeparator = new char[] { ',' };
-            char[] rangeSeparator = new char[] { '-' };
-
-            if (!CommonHelper.GetPagesInRange(ref SplitPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-            { //TODO
-                SplitPreview.PageIndexLists.Add(0);
-
-                return;
-            }
-            else
-            {
-                SplitPreview.PageIndex.Text = (SplitPreview.PageIndexLists.Last<int>() + 1).ToString();
-                SplitPreview.CurrentIndex = 0;
-                SplitPreview.CurrentPage.Text = (SplitPreview.PageIndexLists[SplitPreview.CurrentIndex] + 1).ToString();
-                SplitPreview.AwaitRenderBitmap(SplitPreview.document);
-            }
-
-        }
-
-        private void PageRangeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
-        {
-
-            string PageRangeSelectIndex = ((HomePageSplitDialogViewModel)this.DataContext).PageRangeSelectIndex;
-            var currentViewer = ((HomePageSplitDialogViewModel)this.DataContext).currentViewer;
-            string PageRange = "";
-            var PageRangeText = ((HomePageSplitDialogViewModel)this.DataContext).PageRangeText;
-            if (PageRangeSelectIndex == "0" || PageRangeSelectIndex == "1" || PageRangeSelectIndex == "2")
-            {
-                HomePageEditHelper.GetPagerange(PageRangeSelectIndex, currentViewer, ref PageRange, PageRangeText);
-                char[] enumerationSeparator = new char[] { ',' };
-                char[] rangeSeparator = new char[] { '-' };
-                if (!CommonHelper.GetPagesInRange(ref SplitPreview.PageIndexLists, PageRange, currentViewer.Document.PageCount, enumerationSeparator, rangeSeparator))
-                { //TODO
-                    Trace.WriteLine("输入不对");
-                    MessageBoxEx.Show("输入不对");
-                    return;
-                }
-
-            }
-            SplitPreview.PageIndex.Text = (SplitPreview.PageIndexLists.Last<int>() + 1).ToString();
-            SplitPreview.CurrentIndex = 0;
-            SplitPreview.CurrentPage.Text = (SplitPreview.PageIndexLists[SplitPreview.CurrentIndex] + 1).ToString();
-            SplitPreview.AwaitRenderBitmap(SplitPreview.document);
-        }
     }
 }

+ 21 - 16
PDF Office/Views/EditTools/Watermark/WatermarkCreateFileContent.xaml

@@ -11,17 +11,21 @@
     <Grid>
         <Grid.RowDefinitions>
             <RowDefinition Height="48"/>
-            <RowDefinition Height="190"/>
-            <RowDefinition Height="200"/>
-            <RowDefinition Height="74"/>
+            <RowDefinition Height="464"/>
         </Grid.RowDefinitions>
         <Grid Grid.Row="0" Width="228" Margin="0,16,0,0">
             <StackPanel Orientation="Horizontal">
-                <TextBlock Width="188"></TextBlock>
+                <TextBox Name="FileNameTextBox" IsEnabled="False" Text="XXXXXXXXXX.pdf" FontSize="14" VerticalContentAlignment="Center"  Width="188"></TextBox>
                 <Button Content="+" Width="32" Height="32" Margin="8,0,0,0"></Button>
             </StackPanel>
         </Grid>
-        <Grid Grid.Row="1" Margin="0,23,0,0" Width="228">
+        <Grid Grid.Row="1" Visibility="{Binding ElementName=FileNameTextBox,Path=Text}">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="190"/>
+                <RowDefinition Height="200"/>
+                <RowDefinition Height="74"/>
+            </Grid.RowDefinitions>
+            <Grid Grid.Row="0" Margin="0,23,0,0" Width="228">
             <StackPanel Orientation="Vertical">
                 <TextBlock Text="外观" FontSize="12" Foreground="#666666" Height="20" Width="24" HorizontalAlignment="Left"></TextBlock>
                 <StackPanel Orientation="Horizontal" Margin="0,8,0,0">
@@ -41,20 +45,20 @@
                 <ComboBox Width="66" Height="32" HorizontalAlignment="Left" Margin="0,9,0,0"></ComboBox>
             </StackPanel>
         </Grid>
-        <Grid  Grid.Row="2"  Margin="0,10,0,0" Width="228">
+        <Grid  Grid.Row="1"  Margin="0,10,0,0" Width="228">
             <StackPanel>
                 <TextBlock Text="位置" FontSize="12" Foreground="#666666" Height="20" Width="24" HorizontalAlignment="Left"></TextBlock>
                 <StackPanel Orientation="Horizontal" Margin="0,8,0,0">
                     <Grid Width="74" Height="74">
-                        <Grid.ColumnDefinitions>
-                            <ColumnDefinition></ColumnDefinition>
-                            <ColumnDefinition></ColumnDefinition>
-                            <ColumnDefinition></ColumnDefinition>
-                        </Grid.ColumnDefinitions>
-                        <Grid.RowDefinitions>
-                            <RowDefinition></RowDefinition>
-                            <RowDefinition></RowDefinition>
-                            <RowDefinition></RowDefinition>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition></ColumnDefinition>
+                            <ColumnDefinition></ColumnDefinition>
+                            <ColumnDefinition></ColumnDefinition>
+                        </Grid.ColumnDefinitions>
+                        <Grid.RowDefinitions>
+                            <RowDefinition></RowDefinition>
+                            <RowDefinition></RowDefinition>
+                            <RowDefinition></RowDefinition>
                         </Grid.RowDefinitions>
                         <Button Grid.Column="0" Grid.Row="0"></Button>
                         <Button Grid.Column="1" Grid.Row="0"></Button>
@@ -93,11 +97,12 @@
                 </StackPanel>
             </StackPanel>
         </Grid>
-        <Grid Width="228" Grid.Row="4"  Margin="0,10,0,4">
+        <Grid Width="228" Grid.Row="2"  Margin="0,10,0,4">
             <StackPanel Orientation="Vertical">
                 <TextBlock Text="页面范围" FontSize="12" Foreground="#666666" Height="20" Width="48" HorizontalAlignment="Left"></TextBlock>
                 <ComboBox Height="32" Margin="0,8,0,0"></ComboBox>
             </StackPanel>
         </Grid>
+        </Grid>
     </Grid>
 </UserControl>

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

@@ -17,7 +17,7 @@
         </Grid.RowDefinitions>
         <Grid Grid.Row="0" Width="228">
             <StackPanel Orientation="Vertical">
-                <TextBox Height="72" Margin="0,16,0,0"></TextBox>
+                <TextBox Height="72" Margin="0,16,0,0" Text="一个水印" FontSize="14"></TextBox>
                 <StackPanel Orientation="Horizontal" Margin="0,8,0,0">
                     <ComboBox Width="154" Height="32"></ComboBox>
                     <ComboBox Width="66" Height="32" Margin="8,0,0,0"></ComboBox>
@@ -60,15 +60,15 @@
                 <TextBlock Text="位置" FontSize="12" Foreground="#666666" Height="20" Width="48" HorizontalAlignment="Left"></TextBlock>
                 <StackPanel Orientation="Horizontal" Margin="0,8,0,0">
                     <Grid Width="74" Height="74">
-                        <Grid.ColumnDefinitions>
-                            <ColumnDefinition></ColumnDefinition>
-                            <ColumnDefinition></ColumnDefinition>
-                            <ColumnDefinition></ColumnDefinition>
-                        </Grid.ColumnDefinitions>
-                        <Grid.RowDefinitions>
-                            <RowDefinition></RowDefinition>
-                            <RowDefinition></RowDefinition>
-                            <RowDefinition></RowDefinition>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition></ColumnDefinition>
+                            <ColumnDefinition></ColumnDefinition>
+                            <ColumnDefinition></ColumnDefinition>
+                        </Grid.ColumnDefinitions>
+                        <Grid.RowDefinitions>
+                            <RowDefinition></RowDefinition>
+                            <RowDefinition></RowDefinition>
+                            <RowDefinition></RowDefinition>
                         </Grid.RowDefinitions>
                         <Button Grid.Column="0" Grid.Row="0"></Button>
                         <Button Grid.Column="1" Grid.Row="0"></Button>