HomePagePictureToPDFDialog.xaml.cs 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. using ComPDFKitViewer;
  2. using DryIoc;
  3. using ImTools;
  4. using PDF_Office.Helper;
  5. using PDF_Office.Model.Dialog.HomePageToolsDialogs;
  6. using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs;
  7. using PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcessing;
  8. using System;
  9. using System.Collections;
  10. using System.Collections.Generic;
  11. using System.Data;
  12. using System.Diagnostics;
  13. using System.IO;
  14. using System.Windows;
  15. using System.Windows.Controls;
  16. using System.Windows.Input;
  17. using System.Windows.Interop;
  18. using System.Xml.Linq;
  19. namespace PDF_Office.Views.Dialog.HomePageToolsDialogs
  20. {
  21. /// <summary>
  22. /// Interaction logic for HomePagePictureToPDFDialogs
  23. /// </summary>
  24. public partial class HomePagePictureToPDFDialog : UserControl
  25. {
  26. private IDropTargetHelper dropHelper;
  27. private HomePagePictureToPDFDialogViewModel viewModel;
  28. public HomePagePictureToPDFDialog()
  29. {
  30. InitializeComponent();
  31. viewModel = this.DataContext as HomePagePictureToPDFDialogViewModel;
  32. }
  33. private void Menu_Click(object sender, System.Windows.RoutedEventArgs e)
  34. {
  35. menuPop1.IsOpen = true;
  36. }
  37. private void listView_SelectionChanged(object sender, SelectionChangedEventArgs e)
  38. {
  39. IList list = listView.SelectedItems;
  40. var lists = listView.Items;
  41. System.Data.DataRowView a;
  42. viewModel.fileNamesView.Clear();
  43. foreach (var item in list)
  44. {
  45. a = (System.Data.DataRowView)item;
  46. viewModel.fileNamesView.Add(lists.IndexOf(a));
  47. }
  48. }
  49. private void RemoveFileMenuItem_Click(object sender, System.Windows.RoutedEventArgs e)
  50. {
  51. viewModel.removepicturefile();
  52. }
  53. private void OpenFileMenuItem_Click(object sender, System.Windows.RoutedEventArgs e)
  54. {
  55. viewModel.openfiledialog();
  56. }
  57. private void RadioButton_Click(object sender, System.Windows.RoutedEventArgs e)
  58. {
  59. var radiobutton = sender as RadioButton;
  60. viewModel.ImageToPDFBtnIsEnable = "True";
  61. switch (radiobutton.Name.ToString())
  62. {
  63. case "NewFilesRadioButtom":
  64. {
  65. viewModel.pictureToPDFModel.Mode = HomePagePictureToPDFDialogModel.ToPDFFileMode.NewFiles;
  66. }
  67. break;
  68. case "OneNewFileNameRadioButtom":
  69. {
  70. viewModel.pictureToPDFModel.Mode = HomePagePictureToPDFDialogModel.ToPDFFileMode.OneNewFile;
  71. }
  72. break;
  73. case "SelectFileNameRadioButton":
  74. {
  75. viewModel.pictureToPDFModel.Mode = HomePagePictureToPDFDialogModel.ToPDFFileMode.SelectFileName;
  76. if (!File.Exists(viewModel.SelectFileName)) {
  77. viewModel.ImageToPDFBtnIsEnable = "False";
  78. }
  79. }
  80. break;
  81. default:
  82. break;
  83. }
  84. }
  85. private void Grid_Drop(object sender, DragEventArgs e)
  86. {
  87. try
  88. {
  89. Point iconPoint = e.GetPosition(this);
  90. dropHelper?.Drop((System.Runtime.InteropServices.ComTypes.IDataObject)e.Data, ref iconPoint, e.Effects);
  91. }
  92. catch (Exception ex)
  93. {
  94. }
  95. string dropFile = "Drop";
  96. if (e.Data.GetDataPresent(System.Windows.DataFormats.FileDrop))
  97. {
  98. BtnBlank.IsEnabled = true;
  99. int count = ((System.Array)e.Data.GetData(System.Windows.DataFormats.FileDrop)).Length;
  100. for (int i = 0; i < count; i++)
  101. {
  102. dropFile = ((System.Array)e.Data.GetData(System.Windows.DataFormats.FileDrop)).GetValue(i).ToString(); ;
  103. //MessageBox.Show(dropFile);
  104. if (dropFile.ToLower().EndsWith("png")|| dropFile.ToLower().EndsWith("jpg")|| dropFile.ToLower().EndsWith("bmp")|| dropFile.ToLower().EndsWith("gif")|| dropFile.ToLower().EndsWith("tiff"))
  105. { viewModel.addPicture(dropFile); }
  106. }
  107. }
  108. }
  109. private void MainPage_DragEnter(object sender, DragEventArgs e)
  110. {
  111. BtnBlank.IsEnabled = false;
  112. //页面编辑和缩略图
  113. if ((e.OriginalSource as Image) != null)
  114. return;
  115. try
  116. {
  117. if (dropHelper == null)
  118. {
  119. dropHelper = Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("4657278A-411B-11D2-839A-00C04FD918D0"))) as IDropTargetHelper;
  120. }
  121. Point iconPoint = e.GetPosition(this);
  122. dropHelper?.DragEnter(new WindowInteropHelper(Window.GetWindow(this)).Handle, (System.Runtime.InteropServices.ComTypes.IDataObject)e.Data, ref iconPoint, e.Effects);
  123. }
  124. catch (Exception ex)
  125. {
  126. }
  127. }
  128. private void MainPage_DragOver(object sender, DragEventArgs e)
  129. {
  130. if ((e.OriginalSource as Image) != null)
  131. return;
  132. try
  133. {
  134. Point iconPoint = e.GetPosition(this);
  135. dropHelper?.DragOver(ref iconPoint, e.Effects);
  136. }
  137. catch (Exception ex)
  138. {
  139. }
  140. }
  141. private void MainPage_DragLeave(object sender, DragEventArgs e)
  142. {
  143. BtnBlank.IsEnabled = true;
  144. if ((e.OriginalSource as Image) != null)
  145. return;
  146. try
  147. {
  148. dropHelper?.DragLeave();
  149. }
  150. catch (Exception ex)
  151. {
  152. }
  153. }
  154. private void DeleteTemplateBtn_Click(object sender, RoutedEventArgs e)
  155. {
  156. Button deletetemplatebtn = sender as Button;
  157. var ls = deletetemplatebtn.DataContext as DataRowView;
  158. if (ls != null)
  159. {
  160. viewModel.removepdffile(viewModel.ImagesDataTable.Rows.IndexOf(ls.Row));
  161. }
  162. }
  163. }
  164. }