RecentFilesView.xaml.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. using ComPDFKitViewer.PdfViewer;
  2. using Microsoft.Win32;
  3. using PDF_Office.CustomControl;
  4. using PDF_Office.Properties;
  5. using PDFSettings.Settings;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Collections.ObjectModel;
  9. using System.Diagnostics;
  10. using System.IO;
  11. using System.Windows;
  12. using System.Windows.Controls;
  13. using System.Windows.Input;
  14. using System.Windows.Interop;
  15. using System.Windows.Navigation;
  16. namespace PDF_Office.Views.HomePanel.RecentFiles
  17. {
  18. public partial class RecentFilesView : UserControl
  19. {
  20. private ObservableCollection<OpenFileInfo> RecentFilesGroup = new ObservableCollection<OpenFileInfo>();
  21. public RecentFilesView()
  22. {
  23. InitializeComponent();
  24. }
  25. private void UserControl_Loaded(object sender, RoutedEventArgs e)
  26. {
  27. RecentFilesGroup = new ObservableCollection<OpenFileInfo>(Settings.Default.RecentOpenFiles);
  28. RecentFilesList.ItemsSource = RecentFilesGroup;
  29. GridRecentFilesList.ItemsSource = RecentFilesGroup;
  30. RecentFilesList.SelectedItem = null;
  31. }
  32. private void SetLangText()
  33. {
  34. }
  35. private void InitContextMenu()
  36. {
  37. }
  38. private void InitUI()
  39. {
  40. }
  41. #region UI
  42. #region 列表和网格模式
  43. private void ListModeBtn_Click(object sender, RoutedEventArgs e)
  44. {
  45. SwitchFilesMode(sender);
  46. if (BtnListMode.IsChecked == false)
  47. BtnListMode.IsChecked = true;
  48. }
  49. private void GridModeBtn_Click(object sender, RoutedEventArgs e)
  50. {
  51. SwitchFilesMode(sender);
  52. if (BtnGridMode.IsChecked == false)
  53. BtnGridMode.IsChecked = true;
  54. }
  55. private void SwitchFilesMode(object sender)
  56. {
  57. try
  58. {
  59. var btn = sender as CustomIconToggleBtn;
  60. switch (btn.Tag.ToString())
  61. {
  62. case "ListMode":
  63. BtnGridMode.IsChecked = false;
  64. GridRecentFilesList.Visibility = Visibility.Collapsed;
  65. RecentFilesList.Visibility = Visibility.Visible;
  66. RecentFilesList.SelectedItems.Clear();
  67. if (GridRecentFilesList.SelectedItems.Count > 0)
  68. {
  69. for (int i = 0; i < GridRecentFilesList.SelectedItems.Count; i++)
  70. {
  71. RecentFilesList.SelectedItems.Add(GridRecentFilesList.SelectedItems[i]);
  72. }
  73. }
  74. break;
  75. case "GridMode":
  76. BtnListMode.IsChecked=false;
  77. GridRecentFilesList.Visibility = Visibility.Visible;
  78. RecentFilesList.Visibility = Visibility.Collapsed;
  79. GridRecentFilesList.SelectedItems.Clear();
  80. if (RecentFilesList.SelectedItems.Count > 0)
  81. {
  82. for (int i = 0; i < RecentFilesList.SelectedItems.Count; i++)
  83. {
  84. GridRecentFilesList.SelectedItems.Add(RecentFilesList.SelectedItems[i]);
  85. }
  86. }
  87. break;
  88. }
  89. }
  90. catch { }
  91. }
  92. private void ShowListViewContentUI()
  93. {
  94. if (RecentFilesList.Items.Count == 0)
  95. {
  96. BlankContentPanel.Visibility = Visibility.Visible;
  97. RecentFilesList.Visibility = Visibility.Collapsed;
  98. PnlRightBtns.Visibility = Visibility.Collapsed;
  99. }
  100. else
  101. {
  102. RecentFilesList.Visibility = Visibility.Visible;
  103. PnlRightBtns.Visibility = Visibility.Visible;
  104. BlankContentPanel.Visibility = Visibility.Collapsed;
  105. }
  106. }
  107. #endregion
  108. private void btnDelete_Click(object sender, RoutedEventArgs e)
  109. {
  110. }
  111. private void RecentFilesList_SelectionChanged(object sender, SelectionChangedEventArgs e)
  112. {
  113. }
  114. private void GridRecentFilesList_SelectionChanged(object sender, SelectionChangedEventArgs e)
  115. {
  116. }
  117. private void ContextMenu_Opened(object sender, RoutedEventArgs e)
  118. {
  119. }
  120. /// <summary>
  121. /// 未被选中的项目,或只有一个被选中的项
  122. /// </summary>
  123. private void showMoreContexMenu(ContextMenu contexMenu)
  124. {
  125. foreach (var item in contexMenu.Items)
  126. {
  127. var menuitem = item as MenuItem;
  128. menuitem.Visibility = Visibility.Visible;
  129. }
  130. }
  131. private void ListViewItem_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
  132. {
  133. Trace.WriteLine("Preview MouseRightButtonDown");
  134. e.Handled = true;
  135. }
  136. #endregion
  137. #region Events
  138. /// <summary>
  139. /// 删除最近文件的操作
  140. /// </summary>
  141. /// <param name="selectedItemsType">0:全部文件;1:一个文件;2:多个文件</param>
  142. private void RemoveRecentFilesFrom(int selectedItemsType)
  143. {
  144. }
  145. private void DeleteMenuItem_Click(object sender, RoutedEventArgs e)
  146. {
  147. DeleteFileItem(sender);
  148. }
  149. private void DeleteItemHandler_Click(object sender, RoutedEventArgs e)
  150. {
  151. DeleteFileItem(sender);
  152. }
  153. private bool IsSelectedFile(object sender)
  154. {
  155. return true;
  156. }
  157. private void DeleteFileItem(object sender)
  158. {
  159. }
  160. private void RecentFilesList_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
  161. {
  162. }
  163. private void OpenFiles_Click(object sender, RoutedEventArgs e)
  164. {
  165. }
  166. #endregion
  167. private void PrintFile(CPDFViewer pdfViewer)
  168. {
  169. }
  170. private void PrintMenuItem_Click(object sender, RoutedEventArgs e)
  171. {
  172. }
  173. private void FileInfoMenuItem_Click(object sender, RoutedEventArgs e)
  174. {
  175. }
  176. private void ShareMenuItem_Click(object sender, RoutedEventArgs e)
  177. {
  178. }
  179. private void FilePathMenuItem_Click(object sender, RoutedEventArgs e)
  180. {
  181. }
  182. }
  183. }