public FileListViewNode ToFileListViewNode() { string imagePath; switch (this.FileType) { case FileType.File: imagePath = "/Resources/UI/Default/File.png"; break; case FileType.Directory: imagePath = "/Resources/UI/Default/FolderOrange.png"; break; default: imagePath = "/Resources/UI/Default/File.png"; break; } FileListViewNode file = new FileListViewNode() { ImagePath = imagePath, FileType = this.FileType, Name = this.FileName, FullName = this.FullName, LastWriteTime = this.DateModified.ToString("G"), Extension = this.Extension, Length = this.Size }; return(file); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { FileListViewNode fileListViewNode = value as FileListViewNode; if (fileListViewNode.FileType == FileType.Directory) { return(fileListViewNode.ImagePath); } //todo:1处理图标性能问题 //todo:2处理图标预览效果问题 BitmapImage img = ThumbnailHelper.GetInstance().GetBitmapThumbnail(fileListViewNode.FullName).ToBitmapImage(); return(img); }
public List <FileListViewNode> ReadDir(string url) { var list = upyun.ReadDir(url); var files = new List <FileListViewNode>(); foreach (var item in list) { FileType fileType = item.Filetype.Equals("file") ? FileType.File : FileType.Directory; FileListViewNode fileListViewNode = new FileListViewNode() { Name = item.Filename, FileType = fileType, Length = item.Size, FullName = url + item.Filename }; files.Add(fileListViewNode); } return(files); }
private void OpenNewTabCommand_Executed(object sender, ExecutedRoutedEventArgs e) { string path = @"C:\"; if (e.Parameter != null && e.Parameter.GetType() == typeof(FileListViewNode)) { FileListViewNode fileListViewNode = e.Parameter as FileListViewNode; if (fileListViewNode != null) { switch (fileListViewNode.FileType) { case FileType.File: path = Path.GetDirectoryName(fileListViewNode.FullName); break; case FileType.Directory: path = fileListViewNode.FullName; break; case FileType.Volume: break; case FileType.Mtp: break; case FileType.Unknown: break; default: break; } } } tabControl.SelectedIndex = tabControl.Items.Count - 1; }
public FilePropertyWindow(FileListViewNode fileListViewNode) { this.FileNode = fileListViewNode; InitializeComponent(); this.DataContext = FileNode; }