public HierarchicalElementViewModel(HierarchicalElementViewModel parentViewModel) { ParentViewModel = parentViewModel; Subitems = new ObservableCollection <HierarchicalElementViewModel>(); AddSubitemCommand = new RelayCommand(Add); RemoveCommand = new RelayCommand(Remove, () => ParentViewModel != null); }
private void AddHierarchicalElement() { var selectedHierarchicalElement = Manager.SelectedElement as HierarchicalElementViewModel; if (selectedHierarchicalElement != null) { var newItem = new HierarchicalElementViewModel(selectedHierarchicalElement) { Name = "Child Element" }; selectedHierarchicalElement.Subitems.Add(newItem); newItem.Selected = true; } else { var newItem = new HierarchicalElementViewModel(null) { Name = "Root Element" }; HierarchicalElements.Add(newItem); newItem.Selected = true; } }