0

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

我需要创建一个 WPF 应用程序来承载多个用户控件。(该应用程序就是这样做的 - 作为具有 UserControls 对接能力的容器)

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

这些用户控件必须是可插入的(这很容易),并且在运行时可重新加载(这似乎很难/不可能)。(AppDomains 似乎是这里的答案,但我不知道 AppDomain 限制以外的限制关于 MarshalByValue 和 marshalByRefObject 是否有任何 GUI 限制?)在运行时“可重新加载”,就像在应用程序启动时热交换 UI 组件一样。

我还希望 UserControl 上的上下文菜单有一些来自 Host 的项目和一些来自 UserControl 本身的项目。

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

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

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

我想知道这是否可能,以及是否有支持这一点的框架(MAF?)。任何指向示例或文档的指针都会有所帮助。

先感谢您,

问候, 文。

4

1 回答 1

0

我一直在探索类似的场景。根据您的描述,MAF 似乎是您最好的选择。MSDN 文档在这里这个 codeplex 站点包含 MAF 的工具和示例。希望这可以帮助。

于 2011-06-23T16:06:38.417 回答