public EntryItemViewModel(Entry entry, TreeViewItemViewModel parent, ManifestEditorViewModel editor, Descriptor descriptor) : base(parent) { if (entry == null) throw new ArgumentNullException("entry", "entry is null."); if (parent == null) throw new ArgumentNullException("parent", "parent is null."); if (editor == null) throw new ArgumentNullException("editor", "editor is null."); if (descriptor == null) throw new ArgumentNullException("descriptor", "descriptor is null."); _descriptor = descriptor; Entry = entry; _editor = editor; _entryEditor = new EntryEditorViewModel(entry, editor); TreeItemLabel = entry.Name; _entryEditor.PropertyChanged += (_, args) => { if (args.PropertyName == "Name") TreeItemLabel = entry.Name; }; _collection = parent as IEntryItemCollection; if (_collection != null) { MenuItems = new List<MenuItemViewModel> { new MenuItemViewModel("Remove CI", new DelegateCommand(DoRemove), null) }; } IsExpanded = true; }
private void DoAdd(Descriptor descriptor) { var entry = new Entry {Type = descriptor.Type}; entry.Name = string.Format("New {0}", entry.Type); var item = new EntryItemViewModel(entry, this, _editor, descriptor) {IsSelected = true}; Children.Add(item); _editor.CurrentItemEditor = item.ItemEditor; }