091019 T AddIn

简介:

Add-In,也叫Plug-In,可以在程序编译完成后,嵌入到程序当中的一些模块。
在.net环境下实现这个功能,命名空间为:System.AddIn。
主要是分为七个部分:Host of application, Host views of Add-In,Host-side adapters,Contract,Add-In-side adapters, Add-In views,Add-In。其中Contract是两边都拥有的核心抽象部分。Add-In一边:Adapters实现Contract并调用同样实现Contract的Views。
具体学习参考:ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/dv_fxadvance/html/8dd45b02-7218-40f9-857d-40d7b98b850b.htm

在WPF下,对AddIn功能进行了扩展。
其主要结构如下:INativeHandleContract, FrameworkElementAdapters.ViewToContractAdapter and FrameworkElementAdapters.ContractToViewAdapter。
WPF下的Add-In一般分为两种编程模式:一种是返回UI,一种是作为UI返回。
WPF下的INativeHandleContract实现是基于类HwndHost的。这样Add-In显示出来的UI,其实透明度必须是1,包括其父窗体。


本文转自BloodyAngel博客园博客,原文链接:http://www.cnblogs.com/zgynhqf/archive/2009/11/21/1607733.html,如需转载请自行联系原作者

相关文章
|
自然语言处理 Windows
初识VSTO Addin开发
原文:初识VSTO Addin开发 这篇博客将简单介绍一些VSTO Addin开发的知识。 1. VSTO是什么?我们可以用VSTO做什么? VSTO全称Visual Studio Tool for Office,是可以让我们针对现有的Office程序进行功能扩展。
2010 0
|
Web App开发 机器人 测试技术
Robot Framework之RIDE 编辑器介绍
一、RIDE 编辑器 RF 是通过 RIDE 编辑器进行工作的,安装成功后,可以通过以下2种方式打开: 1.执行命令“[PythonDir]\Scripts\ride.py”,就可以打开 RIDE 编辑器([PythonDir]指的是你Python的安装路径) 2.还可以通过以下方式设置快捷键打开 1>在桌面右击鼠标,弹出的菜单选择 新建-快捷方式 ,然后在 请键入对象 的位置输入这一行命令,F:\Python27\pythonw.exe -c “from robotide import main; main()”。
2621 0
EMF+GEF的属性页问题
最近有朋友问使用EMF作为GEF模型时,如何在选中editpart时在属性页里显示属性的问题。是的,因为GEF是这样判断是否填充属性 页的: public Object getAdapter(Class key) {     if (IPropertySource.
1340 0
|
C++
[VS]VS2017 安装ReportDesigner/ReportViewer的方法
原文:[VS]VS2017 安装ReportDesigner/ReportViewer的方法 解决安装完VS2017后,无法用ReportDesigner/ReportViewer打开.rdlc文件 VS2017初始安装后和VS2015一样,都没有ReportDesigner/ReportViewer,但是按照VS2015的安装ReportDesigner方法在Modify中却没有找到该插件。
2128 0
|
XML C++ 数据格式
ArcGIS中的AddIn开发示例
AddIn开发的插件效率高、操作简单、容易管理、方便共享。它还可以和Python结合(后面的博文中应该会涉及到),非常强大。下面简单描述一下ArcGIS中的AddIn开发过程: 1.在安装ArcGIS、AO和VS的环境下,新建项目ArcMap Add-in; 2.填写基本信息,这些信息将自动生成到Xml文件中; [Add-in Name]:是最后生成的*.esriAddIn文件的名称 其他信息,最后可在加载项管理器中看到 3.下一步,设置Add-in工具信息。
1715 0
未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包
原文:未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包 ---------------------------Microsoft Visual Studio---------------------------未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包。
1582 0