【问题标题】:Custom XAML designer in custom projects type Visual Studio自定义项目类型 Visual Studio 中的自定义 XAML 设计器
【发布时间】:2014-01-06 07:03:11
【问题描述】:

我将自定义 XAML 设计器设为http://code.msdn.microsoft.com/windowsdesktop/Designer-View-Over-XML-20a81f17 我有一个问题:如何使自定义设计器仅适用于某些类型的项目(例如自定义类型的项目),以及默认使用的所有其他项目设计器。

在文件 VsTemplateDesignerPackage.cs 中有:

// Microsoft Visual Basic Project
[EditorFactoryNotifyForProject("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}", EditorFactory.Extension, GuidList.guidXmlChooserEditorFactory)]
// Microsoft Visual C# Project
[EditorFactoryNotifyForProject("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}", EditorFactory.Extension, GuidList.guidXmlChooserEditorFactory)]

我补充:

//CustomProjectType
[EditorFactoryNotifyForProject("{GUID CustomProjectType}", EditorFactory.Extension, GuidList.guidXmlChooserEditorFactory)]

但它不起作用。这导致该扩展的自定义设计器用于所有类型的项目。

如何让自定义设计器仅在自定义项目中打开 *.XAML 文件?

【问题讨论】:

  • 您找到适合您的解决方案了吗?因为我现在在同一条船上,没有解决办法。

标签: c# wpf visual-studio-2010 xaml visual-studio-2012


【解决方案1】:

我认为在 VSSDK 中没有标准的方法可以做到这一点。设计器主要针对某个文件扩展名,并将在任何项目类型中为该文件扩展名调用。

在检查当前加载的项目类型后,我会尝试查看是否有办法重定向或拒绝创建/实例化该编辑器的请求,或者找出适合您文件类型的下一个行内编辑器并创建它的一个实例并返回它。

很遗憾,自从我上次接触任何 VSSDK 代码以来已经有好几年了,我无法提供技术细节或代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    相关资源
    最近更新 更多