如何将MEF支持添加到Silverlight自定义控件

时间:2011-07-20 15:03:56

标签: silverlight custom-controls mef

我想让我的自定义控件可扩展(即主/细节,搜索等)。自定义控件的每个实例都将通过属性请求其功能。

(在这种情况下,它会加载其他组件以支持主/细节)。

这是MEF可用于的东西吗?

干杯

1 个答案:

答案 0 :(得分:0)

你可以使用mef,但根据你的情况可能会有点笨重

从您的描述中可以看出,自定义控件实例是决定要加载哪些其他组件的实例。

Mef通常在目标thing 确切知道它想要什么时使用,只有它想要的是实现某个接口(或更准确的合同)。

例如,您的自定义控件可能知道它想要进行搜索,但不知道如何进行搜索。然后你就有了一个搜索界面,可能只有一个搜索(字符串)方法。您的控件将具有该类型的属性,并且mef将使用在其他程序集中找到的实例来填充该内容。

您可以为您控制的不同“区域”定义合约,并由mef填充这些合同,但是已经有了框架,例如Prism,您应该查看,至少可以参考

我建议查看MSDN docs for MEF并查看它们是否适用于您的方案