在Visual Studio中扩展属性窗口

时间:2013-01-21 17:32:07

标签: .net visual-studio visual-studio-addins

XNA Game Studio以某种方式扩展了Visual Studio中的属性窗口,其中包含两个新的组合框“Importer”和“Processor”。这些组合框包含当前解决方案中代码中定义的可用导入器和处理器,当这些字段更改时,该设置将保存到项目文件中相应项目的元数据中。

我很好奇他们是如何实现这一目标的?任何信息都将不胜感激。

enter image description here

1 个答案:

答案 0 :(得分:1)

有一个陈旧但很好的article解释了它如何完成的原则。基本上它归结为实现IExtenderProvider接口并确定它应该通过CanExtendMethod扩展哪些对象,使用对象的CATID来识别它。对于要扩展的对象,使用GetExtender方法返回扩展器。请注意,扩展程序必须标记为ComVisible

扩展程序提供程序registered在注册表中是静态的,或者是动态使用代码。文档很薄,但this page表示扩展程序能够添加属性并隐藏或更改现有属性。