我在模块化 Silverlight 应用程序中偶然发现了这种特殊情况。
我需要从应用程序屏幕之一填充上下文菜单,问题是多个模块可能想要在此处添加菜单条目。
我们提出的2个解决方案是:
- 使用事件聚合器并发布 ContextMenuLoadEvent,模块侦听该事件并在上下文菜单中添加菜单条目
- 使用 IOC 容器并从模块中注册 IPopulateContextMenu 服务,然后在屏幕中获取所有 IPopulateContextMenu 服务并在它们上调用 Populate。
您认为最好的方法是什么,为什么?
谢谢,