Beispiel #1
0
        private void GenerateControl(ControlWindowViewModel controlWindowViewModel, ProjectItem projectItem)
        {
            // generate namespace for code behind
            var rootNamespace = projectItem.ContainingProject.Properties.Item("DefaultNamespace").Value as string;

            controlWindowViewModel.CodeBehindClassNamespace     = WizardHelpers.GenerateViewModelNamespace(rootNamespace, controlWindowViewModel.CodeBehindClassLocation);
            controlWindowViewModel.CodeBehindClassRootNamespace = rootNamespace;

            // run template
            var template = new ControlTemplate()
            {
                ViewModel = controlWindowViewModel
            };

            File.WriteAllText(DTEHelper.GetProjectItemFullPath(projectItem), template.TransformText(), Encoding.UTF8);
        }
Beispiel #2
0
        private void GenerateView(PageWindowViewModel pageWindowViewModel, ProjectItem projectItem)
        {
            if (pageWindowViewModel.EmbedInMasterPage)
            {
                // try to extract placeholders from the master page
                var masterPageFileName = Path.Combine(DTEHelper.GetProjectPath(projectItem.ContainingProject), pageWindowViewModel.MasterPageLocation);
                pageWindowViewModel.ContentPlaceHolderIds = new MasterPageBuilder().ExtractPlaceHolderIds(masterPageFileName);
            }

            // generate namespace for viewmodel
            var rootNamespace = projectItem.ContainingProject.Properties.Item("DefaultNamespace").Value as string;

            pageWindowViewModel.ViewModelNamespace     = WizardHelpers.GenerateViewModelNamespace(rootNamespace, pageWindowViewModel.ViewModelLocation);
            pageWindowViewModel.ViewModelRootNamespace = rootNamespace;

            // run template
            var template = new PageTemplate()
            {
                ViewModel = pageWindowViewModel
            };

            File.WriteAllText(DTEHelper.GetProjectItemFullPath(projectItem), template.TransformText(), Encoding.UTF8);
        }