繁体   English   中英

如何创建使用可重载插件的WPF应用程序?

[英]How to create WPF Application that uses Reloadable Plugins?

我手头有一个有趣的问题。

我需要创建一个WPF应用程序,它将承载几个UserControl。 (应用程序正是这样做的-充当具有UserControls对接功能的容器)

该应用程序还将托管UserControls的数据模型,作为另一个热插拔组件。 (我计划为每个组件使用内部队列,以便可以交换组件。)

这些用户控件必须在运行时是可插入的(这很容易),并且必须在运行时可重新加载(这似乎很困难/不可能)。(AppDomains似乎是答案,但是除了AppDomain的局限性之外,我不知道其他局限性在MarshalByValue和marshalByRefObject上有GUI限制吗?)在运行时可以像在应用程序启动时热交换UI组件中那样“重载”。

我还希望用户控件上的上下文菜单具有主机中的某些项目和用户控件本身中的某些项目。

我也有逻辑来无缝控制主机和用户控件之间的焦点(在焦点事件上更改边框颜色等)(跨主机和UserControls滚动)。

顺便说一句,我还希望UserControl启用ActiveX,以便与ActiveX容器(如Excel)集成。

这将使我在自己运行UserControl(单元测试),在容器中运行(无缝导航以及与容器和其他相关UserControl的集成)以及作为与ActiveX容器集成的ActiveX控件方面具有灵活性。

我想知道是否有可能,是否有支持此功能的frameworks(MAF?)。 任何指向示例或文档的指针都将有所帮助。

先感谢您,

问候,Ven。

我一直在探索类似的情况。 根据您的描述,MAF似乎是您最好的选择。 MSDN文档在这里 该Codeplex站点包含实际使用的MAF的工具和示例。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM