Beispiel #1
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);
        }
Beispiel #2
0
        public EntityListViewModel(IEventAggregator eventAggregator, IEntityProvider entityProvider, TreeItemViewModelFactory treeItemViewModelFactory)
        {
            //assign event aggregator to local variable for later use
            EA = eventAggregator;
            EA.GetEvent <NewEntityRequestEvent>().Subscribe(NewEntityRequestEventExecute);
            EA.GetEvent <DataLoadSuccessEvent>().Subscribe(DataLoadSuccessEventExecute);

            EA.GetEvent <FilterRequestEvent>().Subscribe(FilterRequestEventExecute);

            EA.GetEvent <UIUpdateRequestEvent>().Subscribe(UIUpdateRequestExecute);

            TreeItemViewModelFactory = treeItemViewModelFactory;

            EP = entityProvider;

            TreeHeads = new ObservableCollection <OrganizationTreeItemViewModel>
            {
                //currently only uses the first head specified in the RTree, eventually plan to add multi head RTrees
                //RTrees currently support multi heading, TreeHeads does not
                TreeItemViewModelFactory.CreateOrganizationViewModel(null, EP.HeadEntities()[0])
            };
            RaisePropertyChanged(nameof(TreeHeads));
        }