Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.96 KB | None | 0 0
  1. using Microsoft.Win32;
  2. using System;
  3. using System.Windows;
  4. using System.IO;
  5. using System.Windows.Controls;
  6. using System.Windows.Media;
  7. using System.Reflection;
  8. using System.Linq;
  9. using System.Windows.Data;
  10. using System.Globalization;
  11. using System.Collections.ObjectModel;
  12. using System.Windows.Forms;
  13. using System.Windows.Media.Imaging;
  14.  
  15. namespace _WPF__CREATE_TREE_OF_FOLDER
  16. {
  17. /// <summary>
  18. /// Interaction logic for MainWindow.xaml
  19. /// </summary>
  20. public partial class MainWindow : Window
  21.  
  22. {
  23. ObservableCollection<MyImage> _images = new ObservableCollection<MyImage>();
  24.  
  25. public ObservableCollection<MyImage> Images
  26. {
  27. get { return _images; }
  28. set { _images = value; }
  29. }
  30. public MainWindow()
  31. {
  32. InitializeComponent();
  33. //_images = GetImages();
  34. }
  35.  
  36. private ObservableCollection<MyImage> GetImages(string directory)
  37. {
  38. ObservableCollection<MyImage> images = new ObservableCollection<MyImage>();
  39.  
  40. DirectoryInfo di = new DirectoryInfo(directory);
  41. FileInfo[] fi = di.GetFiles("*.jpg");
  42.  
  43. foreach (FileInfo info in fi)
  44. {
  45. images.Add(new MyImage(new BitmapImage(new Uri(info.FullName)), info.FullName));
  46. }
  47.  
  48. return images;
  49. }
  50.  
  51. private ObservableCollection<MyImage> GetImages()
  52. {
  53. System.Windows.Forms.FolderBrowserDialog fbDialog = new System.Windows.Forms.FolderBrowserDialog();
  54.  
  55. if (fbDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  56. {
  57. return GetImages(fbDialog.SelectedPath);
  58. }
  59.  
  60. return new ObservableCollection<MyImage>();
  61. }
  62. public class MyImage
  63. {
  64. private ImageSource _image;
  65. private string _filename;
  66.  
  67. public ImageSource ImageSource
  68. {
  69. get { return _image; }
  70. set { _image = value; }
  71. }
  72.  
  73. public string Filename
  74. {
  75. get { return Path.GetFileName(_filename); }
  76. set { _filename = value; }
  77. }
  78.  
  79. public MyImage(ImageSource image, string filename)
  80. {
  81. _image = image;
  82. _filename = filename;
  83. }
  84. }
  85.  
  86. private void MenuItem_Click(object sender, RoutedEventArgs e)
  87. {
  88. System.Windows.Forms.FolderBrowserDialog fbDialog = new System.Windows.Forms.FolderBrowserDialog();
  89.  
  90. if (fbDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  91. {
  92. GetImages(fbDialog.SelectedPath);
  93. }
  94.  
  95. }
  96.  
  97. private void MenuItem_Click_1(object sender, RoutedEventArgs e)
  98. {
  99. this.Close();
  100. }
  101.  
  102. private void MenuItem_Click_2(object sender, RoutedEventArgs e)
  103. {
  104. System.Windows.MessageBox.Show("This is simple image slideshow application.", "About", MessageBoxButton.OK, MessageBoxImage.Information);
  105. }
  106.  
  107. public void Expander_Expanded(object sender, RoutedEventArgs e)
  108. {
  109. foreach (string s in Directory.GetLogicalDrives())
  110. {
  111. TreeViewItem item = new TreeViewItem();
  112. item.Header = s;
  113. item.Tag = s;
  114. item.FontWeight = FontWeights.Normal;
  115. item.Items.Add(null);
  116. item.Expanded += new RoutedEventHandler(Expander_Expanded_1);
  117. foldersItem.Items.Add(item);
  118.  
  119. }
  120. }
  121.  
  122. private void Expander_Expanded_1(object sender, RoutedEventArgs e)
  123. {
  124. TreeViewItem item = (TreeViewItem)sender;
  125. if (item.Items.Count == 1 && item.Items[0] == null)
  126. {
  127. item.Items.Clear();
  128. try
  129. {
  130. foreach (string s in Directory.GetDirectories(item.Tag.ToString()))
  131. {
  132. TreeViewItem subitem = new TreeViewItem();
  133. subitem.Header = s.Substring(s.LastIndexOf("\\") + 1);
  134. subitem.Tag = s;
  135. subitem.FontWeight = FontWeights.Normal;
  136. subitem.Items.Add(null);
  137. subitem.Expanded += new RoutedEventHandler(Expander_Expanded_1);
  138. item.Items.Add(subitem);
  139.  
  140. }
  141. }
  142. catch (Exception) { }
  143. }
  144. }
  145. }
  146.  
  147.  
  148.  
  149.  
  150. [ValueConversion(typeof(double), typeof(double))]
  151. public class WidthFourConverter : IValueConverter
  152. {
  153. #region IValueConverter Members
  154.  
  155. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  156. {
  157. return ((double)value) * 0.25;
  158. }
  159.  
  160. public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  161. {
  162. return ((double)value) / 0.25;
  163. }
  164.  
  165. #endregion
  166. }
  167.  
  168. [ValueConversion(typeof(double), typeof(double))]
  169. public class WidthFourConverter1 : IValueConverter
  170. {
  171. #region IValueConverter Members
  172.  
  173. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  174. {
  175. return ((double)value) * 0.75;
  176. }
  177.  
  178. public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  179. {
  180. return ((double)value) / 0.75;
  181. }
  182.  
  183. #endregion
  184. }
  185.  
  186. [ValueConversion(typeof(double), typeof(double))]
  187. public class HeightConverter : IValueConverter
  188. {
  189. #region IValueConverter Members
  190.  
  191. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  192. {
  193. return ((double)value - 50.0) * 0.10;
  194. }
  195.  
  196. public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  197. {
  198. return ((double)value) / 0.10 + 50.0;
  199. }
  200.  
  201. #endregion
  202. }
  203.  
  204. [ValueConversion(typeof(string), typeof(string))]
  205. public class PathToNameConverter : IValueConverter
  206. {
  207. public static PathToNameConverter Instance = new PathToNameConverter();
  208.  
  209. #region IValueConverter Members
  210. public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  211. {
  212. string fileName = (string)value;
  213. return Path.GetFileName(fileName);
  214. }
  215.  
  216. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  217. {
  218. throw new NotImplementedException();
  219. }
  220.  
  221. #endregion
  222. }
  223.  
  224. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement