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,包括其父窗体。