【问题标题】:How to implement Submit and Cancel buttons in IWizard implementation如何在 IWizard 实现中实现提交和取消按钮
【发布时间】:2014-10-21 09:41:52
【问题描述】:

如果用户选择了他的偏好并且准备好开始他的新项目,我们如何实现“确定/提交”按钮?此外 - 取消按钮 - 正常退出向导并返回新建项目对话框而不创建项目。

【问题讨论】:

    标签: visual-studio-addins envdte vsix vspackage vs-extensibility


    【解决方案1】:

    IWizard 接口(Microsoft.VisualStudio.TemplateWizard 命名空间)无法让您完全控制项目的创建。它允许您在项目创建的特定阶段做一些事情。抛出WizardCancelledException 是可以取消的。另请参阅this explanation 以及:

    Pitfalls of cancelling a VSIX project template in an IWizard

    如果您想要完全控制,您可以使用旧的基于 COM 的 IDTWizard 接口(EnvDTE 命名空间),它提供了一个 Execute 方法,您可以在其中显示表单(可取消)并使用 EnvDTE.Solution 添加项目/文件。 AddFromTempleate、EnvDTE.ProjectItems.AddFromTemplate 等。见我的帖子:

    Project templates wizards (IWizard vs IDTWizard)

    【讨论】:

    • 感谢您的回复卡洛斯。为了正确开发我的扩展,我在过去两周广泛使用了你的博客。我已经尝试过这篇文章。但它只是抛出异常而不返回新项目对话框。我将尝试实现旧的 IDTWizard 接口
    • 我添加了一个新链接到答案“取消的陷阱......”。看看这是否有帮助,因为有不同的 WizardCancelledException 和 WizardBackoutException 异常。
    猜你喜欢
    • 1970-01-01
    • 2019-01-24
    • 2011-11-19
    • 1970-01-01
    • 2021-03-03
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    相关资源
    最近更新 更多