我做了一个自定义的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)]
I add:
//CustomProjectType
[EditorFactoryNotifyForProject("{GUID CustomProjectType}", EditorFactory.Extension, GuidList.guidXmlChooserEditorFactory)]
但它并没有起作用。这导致该扩展的自定义设计师在所有类型的项目中都被使用。
我该如何使自定义设计师仅在自定义项目中打开*.XAML文件?