/// <summary> /// this method gets the children of current directory and stores them in the CurrentItems Observable collection /// </summary> protected void RefreshCurrentItems() { IList <DirInfo> childDirList = new List <DirInfo>(); IList <DirInfo> childFileList = new List <DirInfo>(); //If current directory is "My computer" then get the all logical drives in the system if (CurrentDirectory.Name.Equals(UserInterfaceStrings.FileSystem_MyComputer)) { childDirList = (from rd in FileSystemExplorerService.GetRootDirectories() select new DirInfo(rd)).ToList(); } else { //Combine all the subdirectories and files of the current directory childDirList = (from dir in FileSystemExplorerService.GetChildDirectories(CurrentDirectory.Path) select new DirInfo(dir)).ToList(); childFileList = (from fobj in FileSystemExplorerService.GetChildFiles(CurrentDirectory.Path) select new DirInfo(fobj)).ToList(); childDirList = childDirList.Concat(childFileList).ToList(); } CurrentItems = childDirList; }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { try { DirInfo nodeToExpand = value as DirInfo; if (nodeToExpand == null) { return(null); } //return the subdirectories of the Current Node if ((ObjectType)nodeToExpand.DirType == ObjectType.MyComputer) { return((from sd in FileSystemExplorerService.GetRootDirectories() select new DirInfo(sd)).ToList()); } else { return((from dirs in FileSystemExplorerService.GetChildDirectories(nodeToExpand.Path) select new DirInfo(dirs)).ToList()); } } catch { return(null); } }