我们正在致力于为我们的企业应用程序创建专门的图形编辑器。我们研究并拒绝了 DSL。理想情况下,我希望编辑器的主界面像代码窗口一样停靠,并使用 WPF 进行绘图。谁能给我指出一些文档,让我走上正确的道路?
Thanks.
Colin.
更新:它开始看起来像“不”。从http://msdn.microsoft.com/en-us/library/bb166228.aspx http://msdn.microsoft.com/en-us/library/bb166228.aspx:“文档窗口是通过实现编辑器创建的。IVsEditorFactory 接口创建文档窗口作为实例化编辑器的一部分。有关更多信息,请参阅使用旧接口访问编辑器。”
跟随链接到http://msdn.microsoft.com/en-us/library/dd885127.aspx http://msdn.microsoft.com/en-us/library/dd885127.aspx给出了这样的建议:“您可以从旧版界面访问 Visual Studio 编辑器。Visual Studio SDK 包括称为垫片的适配器,使这些界面能够与新编辑器交互。不过,我们建议您更新旧版代码使用新的编辑器 API。您的代码将执行得更好,并且您可以使用新技术,例如 Windows Presentation Foundation (WPF) 和托管扩展性框架 (MEF)。”
所以,总结一下:如果你想实现一个编辑器,你必须使用遗留接口,但你不应该使用遗留接口,因为那样你就不能使用 WPF 或 MEF。
说真的,微软,WTF?
更新 2:现在我有了正确的名称(“自定义编辑器”),我能够找到以下主题:http://social.msdn.microsoft.com/Forums/en-US/vsxprerelease/thread/9e605d0f-1296-47c9-a534-e54905251ebe http://social.msdn.microsoft.com/Forums/en-US/vsxprerelease/thread/9e605d0f-1296-47c9-a534-e54905251ebe
我仍然不明白为什么他们不能将其包含在 MSDN 文档中的显着位置。您知道,就像在附近的某个地方,他们告诉您,如果您使用旧版界面,则无法使用 WPF。
创建自定义编辑器并不一定非常痛苦。是的,自定义编辑器需要实现一些接口,但您仍然可以使用 WPF 来实际创建 VS 文档框架中托管的控件。
DiveDeeper 的博客提供了一些很棒的资源,可用于学习如何创建自定义编辑器。
- 创建简单的自定义编辑器 - 基础知识 http://dotneteers.net/blogs/divedeeper/archive/2008/03/12/LearnVSXNowPart15.aspx
- 创建一个简单的自定义编辑器 - 前 10 米 http://dotneteers.net/blogs/divedeeper/archive/2008/03/14/LearnVSXNowPart16.aspx
- 创建一个简单的自定义编辑器 - 在压力下 http://dotneteers.net/blogs/divedeeper/archive/2008/03/17/LearnVSXNowPart17.aspx
我建议使用像这样的库VSXtra http://dotneteers.net/blogs/divedeeper/archive/2008/03/17/LearnVSXNowPart17.aspx为您做很多工作。它将为您提供编辑器工厂、编辑器窗格、包等的良好基本实现。Istvan Novak 在这篇博文 http://dotneteers.net/blogs/divedeeper/archive/2008/09/01/LearnVSXNowPart30.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)