public TreeItemViewModel( TreeItem model, ColumnPropertyInfos <TreeItemViewModel> columnPropertyInfos, ITreeItemViewModel parent = null) { this.Parent = parent; this.Children = new ObservableCollection <ITreeItemViewModel>(); this.model = model; this.ColomnProperties = new ColumnProperties <TreeItemViewModel>(this, columnPropertyInfos); }
protected override void OnInitialized(EventArgs e) { base.OnInitialized(e); var culumnHeaderViewModels = new[] { new ColumnHeaderViewModel("Name"), new ColumnHeaderViewModel("Value"), new ColumnHeaderViewModel("Constant", CellBodyType.CheckBox) }; var samples = new[] { new TreeItem { Name = "Dummy1" }, new TreeItem { Name = "Dummy2" } }; var sampleItemFactory = new TreeItemFactory(); var sampleModelService = new ModelService(samples, sampleItemFactory); var columnPropertyInfos = new ColumnPropertyInfos <TreeItemViewModel>( nameof(TreeItemViewModel.Name), nameof(TreeItemViewModel.Value), nameof(TreeItemViewModel.IsConstant)); var sampleViewModelFactory = new TreeItemViewModelFactory(columnPropertyInfos); var sampleViewModels = samples.Select(sampleViewModelFactory.Create); var tableEditorViewModel = new TableEditorViewModel <TreeItem>( sampleViewModels, culumnHeaderViewModels, sampleModelService, sampleViewModelFactory, new RowHeaderContextMenuInfoService()); this.DataContext = new MainWindowViewModel(tableEditorViewModel); }
public TreeItemViewModelFactory(ColumnPropertyInfos <TreeItemViewModel> columnPropertyInfos) { this.columnPropertyInfos = columnPropertyInfos; }