123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePagePrinter;
- using Prism.Ioc;
- using Prism.Regions;
- using System.Text.RegularExpressions;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Forms;
- using System.Windows.Input;
- using UserControl = System.Windows.Controls.UserControl;
- namespace PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePagePrinter
- {
- /// <summary>
- /// Interaction logic for PrinterDialog
- /// </summary>
- public partial class HomePagePrinterDialog : UserControl
- {
- private IContainerProvider containerProvider;
- private Regex regexForPageIndex = new Regex(@"^[0-9]\d*$");
- private Regex regexForZeroIndex = new Regex(@"^[0]\d*$");
- private int _currentPreviewPageIndex;
- public int CurrentPreviewPageIndex
- {
- get { return _currentPreviewPageIndex; }
- set { _currentPreviewPageIndex = value; }
- }
- public HomePagePrinterDialog(IContainerProvider containerProvider)
- {
- InitializeComponent();
- this.containerProvider = containerProvider;
- var regionManager = containerProvider.Resolve<IRegionManager>();
- RegionManager.SetRegionManager(this, regionManager);
- RegionManager.UpdateRegions();
- }
- private void PageRangeComboBox_Loaded(object sender, RoutedEventArgs e)
- {
- PageRangeComboBox.CurrentPage = true;
- if (PageRangeComboBox.CurrentPage)
- {
- ComboBoxItem comboBoxItem = new ComboBoxItem();
- comboBoxItem.Content = "当前页面";
- PageRangeComboBox.writableComboBox.Items.Insert(1, comboBoxItem);
- }
- PageRangeComboBox.writableComboBox.SelectionChanged += WritableComboBox_SelectionChanged;
- }
- private void WritableComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- ((HomePagePrinterDialogViewModel)this.DataContext).SetPageRangeCommand.Execute();
- this.CurrentPageIndexTextBox.Text = "1";
- CurrentPreviewPageIndex= 0;
- }
- private void PrintOrientationComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- ((HomePagePrinterDialogViewModel)this.DataContext).SetPrintOrientationCommand.Execute();
- }
- private void CurrentPageIndexTextBox_PreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e)
- {
- Regex re = new Regex("[^0-9]+");
- e.Handled = re.IsMatch(e.Text);
- }
- private void CurrentPageIndexTextBox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
- {
- if (((HomePagePrinterDialogViewModel)this.DataContext).MaxPageNumber != null)
- {
- if (e.Key == System.Windows.Input.Key.Enter && this.CurrentPageIndexTextBox.Text != (CurrentPreviewPageIndex + 1).ToString())
- {
- var CurrentPageTextBox = sender as System.Windows.Controls.TextBox;
- //非子集、空集、边界值
- if (!regexForPageIndex.IsMatch(CurrentPageTextBox.Text) || CurrentPageTextBox.Text == "" || regexForZeroIndex.IsMatch(CurrentPageTextBox.Text))
- {
- CurrentPreviewPageIndex = 1;
- CurrentPageTextBox.Text = CurrentPreviewPageIndex.ToString();
- }
- if (int.Parse(CurrentPageTextBox.Text) > int.Parse(((HomePagePrinterDialogViewModel)this.DataContext).MaxPageNumber))
- {
- CurrentPreviewPageIndex = int.Parse(((HomePagePrinterDialogViewModel)this.DataContext).MaxPageNumber);
- CurrentPageTextBox.Text = ((HomePagePrinterDialogViewModel)this.DataContext).MaxPageNumber;
- }
- CurrentPreviewPageIndex = int.Parse(CurrentPageIndexTextBox.Text);
- CurrentPreviewPageIndex = CurrentPreviewPageIndex - 1;
- ((HomePagePrinterDialogViewModel)this.DataContext).CurrentListIndexString = (CurrentPreviewPageIndex).ToString();
- ((HomePagePrinterDialogViewModel)this.DataContext).GetPagePreviewWhenIndexChangedCommand.Execute();
- }
- }
- }
- private void PrePageBtn_Click(object sender, RoutedEventArgs e)
- {
- CurrentPreviewPageIndex--;
- this.CurrentPageIndexTextBox.Text = (CurrentPreviewPageIndex + 1).ToString();
- ((HomePagePrinterDialogViewModel)this.DataContext).CurrentListIndexString = CurrentPreviewPageIndex.ToString();
- ((HomePagePrinterDialogViewModel)this.DataContext).GetPagePreviewWhenIndexChangedCommand.Execute();
- }
- private void NextPageBtn_Click(object sender, RoutedEventArgs e)
- {
- CurrentPreviewPageIndex++;
- this.CurrentPageIndexTextBox.Text = (CurrentPreviewPageIndex + 1).ToString();
- ((HomePagePrinterDialogViewModel)this.DataContext).CurrentListIndexString = CurrentPreviewPageIndex.ToString();
- ((HomePagePrinterDialogViewModel)this.DataContext).GetPagePreviewWhenIndexChangedCommand.Execute();
- }
- //private void CurrentPageIndexTextBox_TextChanged(object sender, TextChangedEventArgs e)
- //{
- // if (((HomePagePrinterDialogViewModel)this.DataContext).MaxPageNumber != null)
- // {
- // if (this.CurrentPageIndexTextBox.Text != "")
- // {
- // var CurrentPageTextBox = sender as System.Windows.Controls.TextBox;
- // if (regexForPageIndex.IsMatch(CurrentPageTextBox.Text))
- // {
- // if (int.Parse(((HomePagePrinterDialogViewModel)this.DataContext).MaxPageNumber) > 2)
- // {
- // if (int.Parse(CurrentPageTextBox.Text) > 1 && int.Parse(CurrentPageTextBox.Text) < int.Parse(((HomePagePrinterDialogViewModel)this.DataContext).MaxPageNumber))
- // {
- // PrePageBtn.IsEnabled = true;
- // NextPageBtn.IsEnabled = true;
- // }
- // else if (int.Parse(CurrentPageTextBox.Text) <= 1 && int.Parse(CurrentPageTextBox.Text) < int.Parse(((HomePagePrinterDialogViewModel)this.DataContext).MaxPageNumber))
- // {
- // PrePageBtn.IsEnabled = false;
- // NextPageBtn.IsEnabled = true;
- // }
- // else if (int.Parse(CurrentPageTextBox.Text) > 1 && int.Parse(CurrentPageTextBox.Text) >= int.Parse(((HomePagePrinterDialogViewModel)this.DataContext).MaxPageNumber))
- // {
- // PrePageBtn.IsEnabled = true;
- // NextPageBtn.IsEnabled = false;
- // }
- // }
- // else
- // {
- // PrePageBtn.IsEnabled = false;
- // NextPageBtn.IsEnabled = false;
- // }
- // }
- // else
- // {
- // this.PrePageBtn.IsEnabled = false;
- // this.NextPageBtn.IsEnabled = false;
- // }
- // }
- // else
- // {
- // this.PrePageBtn.IsEnabled = false;
- // this.NextPageBtn.IsEnabled = false;
- // }
- // }
- //}
- private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- ((HomePagePrinterDialogViewModel)this.DataContext).SetPrintContentCommand.Execute();
- }
- private void ReversePageCheckBox_Click(object sender, RoutedEventArgs e)
- {
- this.CurrentPageIndexTextBox.Text = "1";
- CurrentPreviewPageIndex = 0;
- }
- }
- }
|