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; }
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); }
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 }); }