/// <summary> /// Attempts to run the template wizard. /// </summary> /// <param name="shell">The <see cref="IVsUIShell">shell</see> associated with the wizard.</param> /// <returns>True if the wizard completed successfully; otherwise, false if the wizard was canceled.</returns> protected override bool TryRunWizard( IVsUIShell shell ) { Arg.NotNull( shell, nameof( shell ) ); var mapper = new ProjectReplacementsMapper(); var model = new ProjectTemplateWizardViewModel(); var view = new NewProjectTemplateWizard( model ); // map replacements to model mapper.Map( Context.Replacements, model ); if ( !( view.ShowDialog( shell ) ?? false ) ) return false; // map model back to replacements mapper.Map( model, Context.Replacements ); return true; }
/// <summary> /// Initializes a new instance of the <see cref="NewProjectTemplateWizard"/> class. /// </summary> /// <param name="model">The <see cref="ProjectTemplateWizardViewModel">model</see> for the view.</param> public NewProjectTemplateWizard( ProjectTemplateWizardViewModel model ) : this() { DataContext = model; }