public ElementTreeViewModel(Prop prop) { Prop = prop; ElementModelViewModel vm = new ElementModelViewModel(Prop.RootNode, null); RootNodesViewModels = new ObservableCollection <ElementModelViewModel>(new[] { vm }); SelectedItems = new ObservableCollection <ElementModelViewModel>(); SelectedItems.CollectionChanged += SelectedItems_CollectionChanged; }
public ElementModelViewModel(ElementModel model, ElementModelViewModel parent) { ElementModel = model; ChildrenViewModels = new ElementViewModelCollection(model.Children, this); ElementModelLookUpService.Instance.AddModel(model.Id, this); ((IRelationalViewModel)this).SetParentViewModel(parent); DeferValidationUntilFirstSaveCall = false; AlwaysInvokeNotifyChanged = true; }
private static void SelectModelWithParent(ElementModelViewModel elementModelViewModel, ElementModelViewModel targetModelParent) { var newModel = ElementModelLookUpService.Instance.GetModels(elementModelViewModel.ElementModel.Id)? .FirstOrDefault(e => e.ParentViewModel == targetModelParent); if (newModel != null) { newModel.IsSelected = true; //ensure parent is expanded targetModelParent.IsExpanded = true; } }