091019 T AddIn

本文介绍Add-In(插件)的概念及其在.NET环境中的实现方式,并详细解析了WPF下对Add-In功能的扩展,包括关键组件如INativeHandleContract的作用及其实现原理。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值