using ComPDFKit.PDFDocument; using PDF_Master.CustomControl; using PDF_Master.Helper; using PDF_Master.Model.Dialog.HomePageToolsDialogs.HomePageBatchProcessing; using PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcessing; using PDF_Master.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageConverter; using Prism.Ioc; using Prism.Regions; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; using System.Windows; using System.Windows.Controls; using System.Windows.Interop; namespace PDF_Master.Views.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageConverter { /// /// Interaction logic for HomePageConverterDialog /// public partial class HomePageConverterDialog : UserControl { private IContainerProvider containerProvider; private IDropTargetHelper dropHelper; private HomePageConverterDialogViewModel viewModel; public HomePageConverterDialog(IContainerProvider containerProvider) { InitializeComponent(); this.containerProvider = containerProvider; var regionManager = containerProvider.Resolve(); RegionManager.SetRegionManager(this, regionManager); RegionManager.UpdateRegions(); viewModel=this.DataContext as HomePageConverterDialogViewModel; } private void Menu_Click(object sender, System.Windows.RoutedEventArgs e) { menuPop1.IsOpen = true; } private void listView_SelectionChanged(object sender, SelectionChangedEventArgs e) { IList list = listView.SelectedItems; var lists = listView.Items; System.Data.DataRowView a; viewModel.fileNamesView.Clear(); foreach (var item in list) { a = (System.Data.DataRowView)item; viewModel.fileNamesView.Add(lists.IndexOf(a)); } if (viewModel.fileNamesView.Count > 0) { viewModel.RemoveIsEnable = "True"; } else { viewModel.RemoveIsEnable = "False"; } } private void RemoveFileMenuItem_Click(object sender, System.Windows.RoutedEventArgs e) { viewModel.removepdffile(); } private void OpenFileMenuItem_Click(object sender, System.Windows.RoutedEventArgs e) { viewModel.openfiledialog(); } private void ConverterTypeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { ((HomePageConverterDialogViewModel)this.DataContext).ChangeConverter(ConverterTypeComboBox.SelectedIndex); } private void Grid_Drop(object sender, DragEventArgs e) { try { Point iconPoint = e.GetPosition(this); dropHelper?.Drop((System.Runtime.InteropServices.ComTypes.IDataObject)e.Data, ref iconPoint, e.Effects); } catch { } string dropFile = "Drop"; if (e.Data.GetDataPresent(System.Windows.DataFormats.FileDrop)) { BtnBlank.IsEnabled = true; int count = ((System.Array)e.Data.GetData(System.Windows.DataFormats.FileDrop)).Length; for (int i = 0; i < count; i++) { dropFile = ((System.Array)e.Data.GetData(System.Windows.DataFormats.FileDrop)).GetValue(i).ToString(); ; //MessageBox.Show(dropFile); if (dropFile.ToLower().EndsWith("pdf")) { viewModel.addPDFFiles(dropFile); } } } } private void MainPage_DragEnter(object sender, DragEventArgs e) { BtnBlank.IsEnabled = false; //页面编辑和缩略图 if ((e.OriginalSource as Image) != null) return; try { if (dropHelper == null) { dropHelper = Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("4657278A-411B-11D2-839A-00C04FD918D0"))) as IDropTargetHelper; } Point iconPoint = e.GetPosition(this); dropHelper?.DragEnter(new WindowInteropHelper(Window.GetWindow(this)).Handle, (System.Runtime.InteropServices.ComTypes.IDataObject)e.Data, ref iconPoint, e.Effects); } catch { } } private void MainPage_DragOver(object sender, DragEventArgs e) { if ((e.OriginalSource as Image) != null) return; try { Point iconPoint = e.GetPosition(this); dropHelper?.DragOver(ref iconPoint, e.Effects); } catch { } } private void MainPage_DragLeave(object sender, DragEventArgs e) { BtnBlank.IsEnabled = true; if ((e.OriginalSource as Image) != null) return; try { dropHelper?.DragLeave(); } catch { } } private void PageRangeWritableComboBox_LostFocus(object sender, RoutedEventArgs e) { WritableComboBox writableComboBox = sender as WritableComboBox; var ls = writableComboBox.DataContext as DataRowView; if (ls != null) { List PageIndexLists = new List(); var index = viewModel.PDFDataTable.Rows.IndexOf(ls.Row); viewModel.PDFCurrentDataTable.Rows[index]["FilePageRangeSelectIndex"] = writableComboBox.SelectedIndex.ToString(); //viewModel.PDFCurrentDataTable.Rows[index]["FilePageRangeText"] = writableComboBox.Text; if (viewModel.PDFCurrentDataTable.Rows[index]["FilePageRangeSelectIndex"].ToString() == "3" && !CommonHelper.GetPagesInRange(ref PageIndexLists, viewModel.PDFDataTable.Rows[index]["FilePageRangeText"].ToString().ToString(), CPDFDocument.InitWithFilePath(HomePageBatchProcessingDialogModel.FilePaths[index]).PageCount, new char[] { ',' }, new char[] { '-' }, true)) { viewModel.PDFCurrentDataTable.Rows[index]["FilePageRangeSelectIndex"] = "0"; if (viewModel.PDFDataTable.Rows[index]["FilePageRangeText"].ToString() != "") { if (viewModel.PDFCurrentDataTable.Rows[index]["FilePageRangeText"].ToString() != viewModel.PDFDataTable.Rows[index]["FilePageRangeText"].ToString()) { viewModel.PDFCurrentDataTable.Rows[index]["FilePageRangeText"] = writableComboBox.SelectedIndex.ToString(); viewModel.updateListview("待确定"); } } } viewModel.PDFCurrentDataTable.Rows[index]["FilePageRangeText"] = writableComboBox.Text; } //viewModel.updateListview("待确定"); } private void DeleteTemplateBtn_Click(object sender, RoutedEventArgs e) { Button deletetemplatebtn = sender as Button; var ls = deletetemplatebtn.DataContext as DataRowView; if (ls != null) { viewModel.removepdffile(viewModel.PDFDataTable.Rows.IndexOf(ls.Row)); } } } }