Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.Win32;
- using System;
- using System.Windows;
- using System.IO;
- using System.Windows.Controls;
- using System.Windows.Media;
- using System.Reflection;
- using System.Linq;
- using System.Windows.Data;
- using System.Globalization;
- using System.Collections.ObjectModel;
- using System.Windows.Forms;
- using System.Windows.Media.Imaging;
- namespace _WPF__CREATE_TREE_OF_FOLDER
- {
- /// <summary>
- /// Interaction logic for MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window
- {
- ObservableCollection<MyImage> _images = new ObservableCollection<MyImage>();
- public ObservableCollection<MyImage> Images
- {
- get { return _images; }
- set { _images = value; }
- }
- public MainWindow()
- {
- InitializeComponent();
- //_images = GetImages();
- }
- private ObservableCollection<MyImage> GetImages(string directory)
- {
- ObservableCollection<MyImage> images = new ObservableCollection<MyImage>();
- DirectoryInfo di = new DirectoryInfo(directory);
- FileInfo[] fi = di.GetFiles("*.jpg");
- foreach (FileInfo info in fi)
- {
- images.Add(new MyImage(new BitmapImage(new Uri(info.FullName)), info.FullName));
- }
- return images;
- }
- private ObservableCollection<MyImage> GetImages()
- {
- System.Windows.Forms.FolderBrowserDialog fbDialog = new System.Windows.Forms.FolderBrowserDialog();
- if (fbDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- return GetImages(fbDialog.SelectedPath);
- }
- return new ObservableCollection<MyImage>();
- }
- public class MyImage
- {
- private ImageSource _image;
- private string _filename;
- public ImageSource ImageSource
- {
- get { return _image; }
- set { _image = value; }
- }
- public string Filename
- {
- get { return Path.GetFileName(_filename); }
- set { _filename = value; }
- }
- public MyImage(ImageSource image, string filename)
- {
- _image = image;
- _filename = filename;
- }
- }
- private void MenuItem_Click(object sender, RoutedEventArgs e)
- {
- System.Windows.Forms.FolderBrowserDialog fbDialog = new System.Windows.Forms.FolderBrowserDialog();
- if (fbDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- GetImages(fbDialog.SelectedPath);
- }
- }
- private void MenuItem_Click_1(object sender, RoutedEventArgs e)
- {
- this.Close();
- }
- private void MenuItem_Click_2(object sender, RoutedEventArgs e)
- {
- System.Windows.MessageBox.Show("This is simple image slideshow application.", "About", MessageBoxButton.OK, MessageBoxImage.Information);
- }
- public void Expander_Expanded(object sender, RoutedEventArgs e)
- {
- foreach (string s in Directory.GetLogicalDrives())
- {
- TreeViewItem item = new TreeViewItem();
- item.Header = s;
- item.Tag = s;
- item.FontWeight = FontWeights.Normal;
- item.Items.Add(null);
- item.Expanded += new RoutedEventHandler(Expander_Expanded_1);
- foldersItem.Items.Add(item);
- }
- }
- private void Expander_Expanded_1(object sender, RoutedEventArgs e)
- {
- TreeViewItem item = (TreeViewItem)sender;
- if (item.Items.Count == 1 && item.Items[0] == null)
- {
- item.Items.Clear();
- try
- {
- foreach (string s in Directory.GetDirectories(item.Tag.ToString()))
- {
- TreeViewItem subitem = new TreeViewItem();
- subitem.Header = s.Substring(s.LastIndexOf("\\") + 1);
- subitem.Tag = s;
- subitem.FontWeight = FontWeights.Normal;
- subitem.Items.Add(null);
- subitem.Expanded += new RoutedEventHandler(Expander_Expanded_1);
- item.Items.Add(subitem);
- }
- }
- catch (Exception) { }
- }
- }
- }
- [ValueConversion(typeof(double), typeof(double))]
- public class WidthFourConverter : IValueConverter
- {
- #region IValueConverter Members
- public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- return ((double)value) * 0.25;
- }
- public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- return ((double)value) / 0.25;
- }
- #endregion
- }
- [ValueConversion(typeof(double), typeof(double))]
- public class WidthFourConverter1 : IValueConverter
- {
- #region IValueConverter Members
- public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- return ((double)value) * 0.75;
- }
- public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- return ((double)value) / 0.75;
- }
- #endregion
- }
- [ValueConversion(typeof(double), typeof(double))]
- public class HeightConverter : IValueConverter
- {
- #region IValueConverter Members
- public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- return ((double)value - 50.0) * 0.10;
- }
- public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
- {
- return ((double)value) / 0.10 + 50.0;
- }
- #endregion
- }
- [ValueConversion(typeof(string), typeof(string))]
- public class PathToNameConverter : IValueConverter
- {
- public static PathToNameConverter Instance = new PathToNameConverter();
- #region IValueConverter Members
- public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
- {
- string fileName = (string)value;
- return Path.GetFileName(fileName);
- }
- public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement