private void AddSubcategory(object categoryObject)
        {
            var category = categoryObject as WordCategoryViewModel;

            if (category == null)
            {
                throw new ArgumentException(nameof(categoryObject));
            }

            var newCategory = new WordCategoryViewModel("New category", category, DataService);

            Children.Add(newCategory);
            category.IsExpanded = true;
        }
Esempio n. 2
0
        private void RecursiveSortCategories(WordCategoryViewModel category)
        {
            foreach (var child in category.Children)
            {
                var subcategory = child as WordCategoryViewModel;

                if (subcategory != null)
                {
                    RecursiveSortCategories(subcategory);
                }
            }

            category.SortCategoryCommand.Execute(null);
        }
Esempio n. 3
0
        public MainViewModel()
        {
            SaveWordTreeCommand      = new BasicCommand(SaveWordTree);
            SortAllCategoriesCommand = new BasicCommand(SortAllCategories);
            FindWordCommand          = new BasicCommand(FindWord);
            ViewClosingActionCommand = new BasicCommand(WindowClosingAction);

            DataService = new TreeViewDataService <IWordTreeViewItem>();
            DataService.SelectedItemChanged += (o, e) => CurrentWord = DataService.SelectedItem.Text;

            MainCategory = new WordCategoryViewModel("Main", null, DataService, false);

            var serializer = new TreeViewHierarchyXmlSerializer(this);

            MainCategory.Children = new ObservableCollection <IWordTreeViewItem>(serializer.DeserializeXml());

            MainCategory.IsExpanded = true;
            MainCategory.StartRenameCommand.Enabled = false;

            TreeViewItems = CollectionViewSource.GetDefaultView(new ObservableCollection <IWordTreeViewItem> {
                MainCategory
            });
        }