/// <summary> /// 获取目录集合 /// </summary> /// <param name="dir"></param> /// <param name="d"></param> /// <returns></returns> public List<FileTreeModel> GetAllFiles(DirectoryInfo dir, FileTreeModel d, int pictureType=0) { List<FileTreeModel> FileList = new List<FileTreeModel>(); FileInfo[] allFile = dir.GetFiles(); total = allFile.Count(); foreach (FileInfo fi in allFile) { if (fi.Extension!=null) { switch (fi.Extension) { case ".jpg": d.Subitem.Add(new FileTreeModel() { FileName = fi.Name, FilePath = fi.FullName, FileType = (int)FieleTypeEnum.Picture, Icon = "" }); break; case ".png": d.Subitem.Add(new FileTreeModel() { FileName = fi.Name, FilePath = fi.FullName, FileType = (int)FieleTypeEnum.Picture, Icon = "" }); break; case ".bmp": d.Subitem.Add(new FileTreeModel() { FileName = fi.Name, FilePath = fi.FullName, FileType = (int)FieleTypeEnum.Picture, Icon = "" }); break; case ".ini": d.Subitem.Add(new FileTreeModel() { FileName = fi.Name, FilePath = fi.FullName, FileType = (int)FieleTypeEnum.IniFile, Icon = "" }); break; default: if(pictureType==0) d.Subitem.Add(new FileTreeModel() { FileName = fi.Name, FilePath = fi.FullName, FileType = (int)FieleTypeEnum.OtherFile, Icon = "" }); break; } } } DirectoryInfo[] allDir = dir.GetDirectories(); foreach (DirectoryInfo dif in allDir) { FileTreeModel fileDir = new FileTreeModel() { FileName = dif.Name, FilePath = dif.FullName, FileType = (int)FieleTypeEnum.Folder, Icon = "" }; GetAllFiles(dif, fileDir, pictureType); fileDir.SubitemCount = string.Format($"({fileDir.Subitem.Count})");// string.Format($"({total})");//等价于string.Format("{0}",total) d.Subitem.Add(fileDir); FileList.Add(fileDir); } return FileList; }
private void Tree_Picture_PreviewMouseUp(object sender, MouseButtonEventArgs e) { try { if (Tree_Picture.SelectedItem != null) { FileTreeModel selectedTnh = Tree_Picture.SelectedItem as FileTreeModel; //viewModel.Model.SelectFileleName = selectedTnh.FileName; if (selectedTnh.FileType == (int)FieleTypeEnum.Picture) { BitmapImage imagesouce = new BitmapImage(); imagesouce = new BitmapImage(new Uri(selectedTnh.FilePath));//Uri("图片路径") MyImage.Source = imagesouce.Clone(); } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }