using PDF_Office.CustomControl; using PDF_Office.Helper; using PDF_Office.ViewModels.Dialog.ConverterDialogs; using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace PDF_Office.Views.Dialog.HomePageToolsDialogs { /// /// MainPageExtractDialog.xaml 的交互逻辑 /// public partial class HomePageExtractDialog : UserControl { public HomePageExtractDialog() { InitializeComponent(); } private void PageTurningPreview_Loaded(object sender, RoutedEventArgs e) { ExtractPreview.document = ((HomePageExtractDialogViewModel)this.DataContext).document; char[] enumerationSeparator = new char[] { ',' }; char[] rangeSeparator = new char[] { '-' }; if (!CommonHelper.GetPagesInRange(ref ExtractPreview.PageIndexLists, "1-" + ExtractPreview.document.PageCount.ToString(), ExtractPreview.document.PageCount, enumerationSeparator, rangeSeparator)) { //TODO Trace.WriteLine("输入不对"); MessageBoxEx.Show("输入不对"); return; } ExtractPreview.AwaitRenderBitmap(ExtractPreview.document); 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() + 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() + 1).ToString(); ExtractPreview.CurrentIndex = 0; ExtractPreview.CurrentPage.Text = (ExtractPreview.PageIndexLists[ExtractPreview.CurrentIndex] + 1).ToString(); ExtractPreview.AwaitRenderBitmap(ExtractPreview.document); } } }