Пример #1
0
        void RecursiveCollectionViewFolder(ItemTreeViewModel _nItemViewModel, Folder _nFolder)
        {
            // Добавляем в коллекцию "ItemTreeViewModel ChildrenFolders" наши папки
            foreach (Folder ChildFolder in _nFolder.ChildFoldersList)
            {
                // Есть ли есть папка, значит создаем предстовление этой папки, инициализируем его
                ItemTreeViewModel tempItemFolderViewModel = new ItemTreeViewModel(_nItemViewModel, ChildFolder.FolderName, ChildFolder.FullPatch);


                // Заносим в корневой экземпляр текущий tempItemViewModel
                _nItemViewModel.ChildrenFolders.Add(tempItemFolderViewModel);

                // Запускаем рекурсию
                RecursiveCollectionViewFolder(tempItemFolderViewModel, ChildFolder);
            }

            //добавить коллекцию файлов
            foreach (File itemFile in _nFolder.ChildFilesList)
            {
                _nItemViewModel.ChildrenFiles.Add(new FileViewModel()
                {
                    GetFileTitle = itemFile.FileName, GetFilePath = itemFile.FilePath
                });
            }
        }
Пример #2
0
        public static FolderViewModel ReturnFolderViewModel(ItemTreeViewModel _item)
        {
            if (_item == null)
            {
                //System.Windows.MessageBox.Show("Вы находитесь в корневой директории");
                // _item = CreatCollectionModel.rootItemViewModel;
                return(null);
            }

            FolderViewModel result = new FolderViewModel
            {
                FolderTitle                      = _item.NameFolder,
                FolderPath                       = _item.FolderPath,
                UpItemTreeViewFolder             = _item.UpFolder,
                ChildrenFileViewModelsCollection = _item.ChildrenFiles
            };


            // Необходим для окрытия диалоговых окон
            //if (FolderViewModel.GetMainViewModel == null)
            //{
            //    FolderViewModel.GetMainViewModel = this;
            //}

            return(result);
        }
Пример #3
0
        //FolderViewModel GetCurentItemViewModel { get; set; }

        // Возвращаем полную коллекцию FolderViewModel
        public ObservableCollection <ItemTreeViewModel> RecursiveCreateCollectionViewModelAll()
        {
            // Инициализируем экземпляр
            rootItemViewModel = new ItemTreeViewModel(rootFolderObj.FolderName, rootFolderObj.FullPatch);

            // Сопостовляем с root
            //rootItemViewModel = GetCurentItemViewModel;

            // Инициализируем коллекцию
            mItemTreeViewItems = new ObservableCollection <ItemTreeViewModel>();

            // запускаем рекурсию создании полной коллекции
            RecursiveCollectionViewFolder(rootItemViewModel, rootFolderObj);

            // Добовляем в коллекцию Item from Root

            foreach (ItemTreeViewModel _n in rootItemViewModel.ChildrenFolders)
            {
                mItemTreeViewItems.Add(_n);
            }

            // Возвращаем коллекцию
            return(mItemTreeViewItems);
        }