我手头有一个有趣的问题。
我需要创建一个 WPF 应用程序来承载多个用户控件。(该应用程序就是这样做的 - 作为具有 UserControls 对接能力的容器)
该应用程序还将作为另一个热交换组件托管 UserControls 的数据模型。(我计划为每个组件使用内部队列,以便可以交换组件。)
这些用户控件必须是可插入的(这很容易),并且在运行时可重新加载(这似乎很难/不可能)。(AppDomains 似乎是这里的答案,但我不知道 AppDomain 限制以外的限制关于 MarshalByValue 和 marshalByRefObject 是否有任何 GUI 限制?)在运行时“可重新加载”,就像在应用程序启动时热交换 UI 组件一样。
我还希望 UserControl 上的上下文菜单有一些来自 Host 的项目和一些来自 UserControl 本身的项目。
我也有逻辑来控制主机和用户控件之间的焦点(更改焦点事件的边框颜色等)无缝(跨主机和用户控件的选项卡)。
顺便说一句,我还希望 UserControl 启用 ActiveX 以便与 Excel 等 ActiveX 容器集成。
这将使我在单独运行 UserControl(单元测试)、在容器中(无缝导航以及与容器和其他相关 UserControls 集成)以及作为 ActiveX 控件与 ActiveX 容器集成方面具有灵活性。
我想知道这是否可能,以及是否有支持这一点的框架(MAF?)。任何指向示例或文档的指针都会有所帮助。
先感谢您,
问候, 文。