public MainViewModel(ICommandFactory commandFactory) { _rootFolder = Folder = new FolderTree(null, "/:", this); PathFolders = "/:"; StartNameFolder = "Папка"; CreateRealFolderCommand = commandFactory.CreateCommand(CreateRealDirectory); HomeFolderCommand = commandFactory.CreateCommand(o => { Folder = _rootFolder; PathFolders = _rootFolder.Name; }); }
public FolderTree(FolderTree folderObject, string name, MainViewModel mainViewModel) { _mainViewModel = mainViewModel; var commandFactory = new RelayCommandFactory(); AddFolderCommand = commandFactory.CreateCommand(AddFolder); ChooseFolderCommand = commandFactory.CreateCommand(ChooseFolder); BackFolderCommand = commandFactory.CreateCommand(BackFolder); DeleteFolderCommand = commandFactory.CreateCommand(DeleteFolder); Parent = folderObject; Name = name; ChildsCollection = new ObservableCollection <FolderTree>(); }
public void AddAllFolders(FolderTree folder, string path = "") { foreach (FolderTree item in folder.ChildsCollection) { if (string.IsNullOrWhiteSpace(item.Name) || item.Name == "") { item.Name = item.CreateUniqueName(@"!"); MessageBox.Show("Пустое имя было заменено на !"); } AddAllFolders(item, $@"{path}\{item.Name}"); } if (!string.IsNullOrEmpty(path)) { path = path.Remove(0, 1); var subFolder = _directory.CreateSubdirectory(path); } }