按需加载Silverlight类库(MEF?)

时间:2013-12-10 11:01:01

标签: silverlight .net-4.5 mef silverlight-5.0

我需要将一堆用户控件分成一个类库,然后根据需要加载它。 这些很少使用,所以我不希望它们加载应用程序启动。

我有一个相当大的企业应用程序,并且有一组功能来配置应用程序管理员使用的东西。

假设管理员想要打开页面,其中包含要显示的用户控件数量的菜单。菜单是主应用程序的一部分,一旦他/她点击菜单项,就需要从类库中加载某个用户控件。

我知道MEF可以轻松地做到这一点。有人可以从高层的角度描述如何实现这一点。

Silverlight 5。

1 个答案:

答案 0 :(得分:1)

了解MEF的最简单方法是: http://ajay555.wordpress.com/2009/11/30/managed-extensibility-framework-mef-example/

在粗略模式中:

- 您需要使用[export]标记

指明要导出的元素

- 您需要[import]标签来指示您要加载这些元素的位置。

- 你需要一个懒惰的<>变量以在不使用它们时保持“非活动”元素

- 你需要使用接口来操纵一切。

具体关于您的问题标题,当您编译类库时,它会生成一个.xap文件,您可以使用MEF访问该文件,然后使用您创建的[export]标记获取所有元素。

希望它有所帮助。