示例#1
0
 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);
 }
示例#2
0
        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);
        }
示例#3
0
 public TreeItemViewModelFactory(ColumnPropertyInfos <TreeItemViewModel> columnPropertyInfos)
 {
     this.columnPropertyInfos = columnPropertyInfos;
 }