HomeFilesContentViewModel.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. using Microsoft.Office.Interop.Word;
  2. using Microsoft.Win32;
  3. using PDF_Master.Helper;
  4. using PDF_Master.Model;
  5. using Prism.Commands;
  6. using Prism.Mvvm;
  7. using Prism.Regions;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. namespace PDF_Master.ViewModels.HomePanel.PDFTools
  12. {
  13. public class HomeFilesContentViewModel : BindableBase, INavigationAware
  14. {
  15. #region 文案
  16. private string T_openPDFTitle;
  17. public string T_OpenPDFTitle
  18. {
  19. get { return T_openPDFTitle; }
  20. set
  21. {
  22. SetProperty(ref T_openPDFTitle, value);
  23. }
  24. }
  25. private string T_openPDFBtn;
  26. public string T_OpenPDFBtn
  27. {
  28. get { return T_openPDFBtn; }
  29. set
  30. {
  31. SetProperty(ref T_openPDFBtn, value);
  32. }
  33. }
  34. private string T_openPDFDropTip;
  35. public string T_OpenPDFDropTip
  36. {
  37. get { return T_openPDFDropTip; }
  38. set
  39. {
  40. SetProperty(ref T_openPDFDropTip, value);
  41. }
  42. }
  43. private string T_createPDFTitle;
  44. public string T_CreatePDFTitle
  45. {
  46. get { return T_createPDFTitle; }
  47. set
  48. {
  49. SetProperty(ref T_createPDFTitle, value);
  50. }
  51. }
  52. private string T_createPDFNewFromFilesBtn;
  53. public string T_CreatePDFNewFromFilesBtn
  54. {
  55. get { return T_createPDFNewFromFilesBtn; }
  56. set
  57. {
  58. SetProperty(ref T_createPDFNewFromFilesBtn, value);
  59. }
  60. }
  61. private string T_createPDFNewBlankPageBtn;
  62. public string T_CreatePDFNewBlankPageBtn
  63. {
  64. get { return T_createPDFNewBlankPageBtn; }
  65. set
  66. {
  67. SetProperty(ref T_createPDFNewBlankPageBtn, value);
  68. }
  69. }
  70. private string T_createPDFFromScannerBtn;
  71. public string T_CreatePDFFromScannerBtn
  72. {
  73. get { return T_createPDFFromScannerBtn; }
  74. set
  75. {
  76. SetProperty(ref T_createPDFFromScannerBtn, value);
  77. }
  78. }
  79. private void InitString()
  80. {
  81. T_OpenPDFTitle = App.HomePageLoader.GetString("HomeBtn_OpenPDFTitle");
  82. T_OpenPDFBtn = App.HomePageLoader.GetString("HomeBtn_OpenPDFBtn");
  83. T_OpenPDFDropTip = App.HomePageLoader.GetString("HomeBtn_OpenPDFDropTip");
  84. T_CreatePDFTitle = App.HomePageLoader.GetString("HomeBtn_CreatePDFTitle");
  85. T_CreatePDFNewFromFilesBtn = App.HomePageLoader.GetString("HomeBtn_CreatePDFNewFromFilesBtn");
  86. T_CreatePDFNewBlankPageBtn = App.HomePageLoader.GetString("HomeBtn_CreatePDFNewBlankPageBtn");
  87. T_CreatePDFFromScannerBtn = App.HomePageLoader.GetString("HomeBtn_CreatePDFFromScannerBtn");
  88. }
  89. #endregion
  90. #region 属性和参数
  91. HomeContentViewModel homeContentViewModel = null;
  92. private int creatGridRowIndex = 0;
  93. public int CreatGridRowIndex
  94. {
  95. get { return creatGridRowIndex; }
  96. set
  97. {
  98. SetProperty(ref creatGridRowIndex, value);
  99. }
  100. }
  101. private int creatGridColumnIndex = 1;
  102. public int CreatGridColumnIndex
  103. {
  104. get { return creatGridColumnIndex; }
  105. set
  106. {
  107. SetProperty(ref creatGridColumnIndex, value);
  108. }
  109. }
  110. #endregion
  111. #region 委托声明
  112. public DelegateCommand OpenFileCommand { get; set; }
  113. public DelegateCommand CreateBlackPDFCommand { get; set; }
  114. public DelegateCommand CreateFromOtherFile { get; set; }
  115. public DelegateCommand<string> CreateFromScanner { get; set; }
  116. #endregion
  117. public HomeFilesContentViewModel()
  118. {
  119. OpenFileCommand = new DelegateCommand(OpenFile);
  120. CreateBlackPDFCommand = new DelegateCommand(CreatBlankPDF);
  121. CreateFromOtherFile = new DelegateCommand(createFromOtherFile);
  122. CreateFromScanner = new DelegateCommand<string>(createFromScanner);
  123. InitString();
  124. }
  125. #region 函数逻辑
  126. /// <summary>
  127. /// 从扫描仪创建
  128. /// </summary>
  129. private void createFromScanner(string args)
  130. {
  131. if (homeContentViewModel != null)
  132. {
  133. homeContentViewModel.createFromScanner("");
  134. }
  135. }
  136. /// <summary>
  137. /// 打开文件
  138. /// </summary>
  139. public void OpenFile()
  140. {
  141. if (homeContentViewModel != null)
  142. {
  143. homeContentViewModel.OpenFile();
  144. }
  145. }
  146. /// <summary>
  147. /// 创建空白文档
  148. /// </summary>
  149. public void CreatBlankPDF()
  150. {
  151. if (homeContentViewModel != null)
  152. {
  153. homeContentViewModel.CreatBlankPDF();
  154. }
  155. }
  156. /// <summary>
  157. /// 从其他格式文件创建PDF
  158. /// </summary>
  159. private void createFromOtherFile()
  160. {
  161. if (homeContentViewModel != null)
  162. {
  163. homeContentViewModel.createFromOtherFile();
  164. }
  165. }
  166. #endregion
  167. #region 框架行为
  168. public void OnNavigatedTo(NavigationContext navigationContext)
  169. {
  170. navigationContext.Parameters.TryGetValue<HomeContentViewModel>(ParameterNames.HomeContentViewModel, out homeContentViewModel);
  171. }
  172. public bool IsNavigationTarget(NavigationContext navigationContext)
  173. {
  174. return true;
  175. }
  176. public void OnNavigatedFrom(NavigationContext navigationContext)
  177. {
  178. }
  179. #endregion
  180. }
  181. }