private void OnBreadcrumbConvertItem(object sender, BreadcrumbConvertItemEventArgs e) { string path = e.Path; var item = e.Item as BreadcrumbItem; if (item == null) { return; } ItemCollection items = item.Items; items.Clear(); try { FileSystemDescription filedesc = Client.Stat(path); if (filedesc.IsDirectory) { // _logger.Debug(string.Format("[LIST]{0}", path)); FileSystemDescription[] fileDescriptions = Client.List(path); foreach (FileSystemDescription file in fileDescriptions) { items.Add(new BreadcrumbItem { Header = file.Name, PathEntry = file.Name, }); } } } catch (FaultException) { } }
public ObservableCollection <FileItemView> getSubItems(string path) { ObservableCollection <FileItemView> result = new ObservableCollection <FileItemView>(); FileSystemDescription fileSystemDescription = Client.Stat(path); if (fileSystemDescription.IsDirectory) { FileSystemDescription[] fileDescriptions = Client.List(path); foreach (FileSystemDescription file in fileDescriptions) { if (file.IsDirectory) { result.Add(new FileItemView { Name = file.Name, Size = 0x1000, CreateTime = file.CreateTime, AccessTime = file.AccessTime, ModifyTime = file.ModifyTime, IsDirectory = true, Icon = new BitmapImage(new Uri(@"Resources/Images/Folder16.png", UriKind.RelativeOrAbsolute)), //SubItems = getSubItems(file.Name), }); } else { result.Add(new FileItemView { Name = file.Name, Size = file.Size, CreateTime = file.CreateTime, AccessTime = file.AccessTime, ModifyTime = file.ModifyTime, IsDirectory = true, Icon = new BitmapImage(new Uri(@"Resources/Images/File16.png", UriKind.RelativeOrAbsolute)), }); } } } else { Console.WriteLine(@"haha"); } return(result); }