如何创建使用可重新加载插件的WPF应用程序?
我手头有一个有趣的问题 我需要创建一个WPF应用程序,它将承载多个UserControl。(应用程序正是这样做的-作为一个容器,具有用户控件的停靠功能) 该应用程序还将作为另一个热插拔组件托管UserControls的数据模型。(我计划为每个组件使用内部队列,以便可以交换组件。) 这些用户控件必须是可插拔的(这很容易),并且在运行时可以重新加载(这似乎很难/不可能)。(这里的答案似乎是AppDomains,但我不知道除了AppDomain对MarshallByValue和MarshallByRefObject的限制之外还有哪些限制?“可重新加载的”在运行时,就像在热插拔中一样,在应用程序启动时关闭UI组件 我还希望UserControl上的上下文菜单包含来自主机的一些项和来自UserControl本身的一些项 我还可以在主机和用户控件之间无缝地控制焦点(更改焦点事件的边框颜色等)(在主机和用户控件之间切换) 顺便说一句,我还希望UserControl启用ActiveX,以便与Excel等ActiveX容器集成 这将使我能够灵活地运行UserControl本身(单元测试),在容器中(无缝导航并与容器和其他相关UserControls集成),以及作为ActiveX控件与ActiveX容器集成 我想知道这是否可能,是否有框架(MAF?)支持这一点。任何指向示例或文档的指针都会有所帮助 提前谢谢大家,, 问候,,如何创建使用可重新加载插件的WPF应用程序?,wpf,activex,contextmenu,appdomain,hotswap,Wpf,Activex,Contextmenu,Appdomain,Hotswap,我手头有一个有趣的问题 我需要创建一个WPF应用程序,它将承载多个UserControl。(应用程序正是这样做的-作为一个容器,具有用户控件的停靠功能) 该应用程序还将作为另一个热插拔组件托管UserControls的数据模型。(我计划为每个组件使用内部队列,以便可以交换组件。) 这些用户控件必须是可插拔的(这很容易),并且在运行时可以重新加载(这似乎很难/不可能)。(这里的答案似乎是AppDomains,但我不知道除了AppDomain对MarshallByValue和MarshallByRe
维恩 我一直在探索类似的场景。根据你的描述,MAF似乎是你最好的选择。包含正在运行的MAF的工具和示例。希望这有帮助