2010-05-18 63 views
2

我遇到了Silverlight 4/MEF的一些问题。我有一个基本的框架设置与核心的Silverlight导航应用程序。如何显示满足所有导入的用户控件

Image link以图澄清

主要应用(德苏)包含一些页面和控件,出口连接进口很好。我动态地从Desu.Controls加载控件(比如我用IImageViewer接口识别的图像查看器)以及一些Desu.Pages页面。

我遇到的第一个问题是动态加载页面并能够导航到这些页面(例如,当从xap加载Desu.Pages时,使用dummyhttp://blagh/desutestpage.aspx#/Activation)。我通过使用自定义MetaAttribute和自定义内容加载器来解决此问题。

现在针对问题部分: 我想从Desu的HomePage中的Desu.Controls中加载ImageViewerControl。我还没有将Desu.Controls加载到包中。当我尝试加载控件时,它会给我构图异常,因为它无法满足ImageViewControl导入。我尝试设置AllowRecomposition = true,但这没有帮助。

因此,如果不满足所有导入条件,就可以加载控件,如果是的话,是怎么做到的呢?

回答

1

因此,您希望导入最初不会得到满足,但您希望稍后添加它?

您在正确的轨道上设置了AllowRecomposition = true,但您还需要设置AllowDefault = true。然后,如果ImageViewerControl不可用,该属性将为null,并且在其可用时将被设置。

+0

真棒:) thnx – Joost 2010-05-19 07:29:55

相关问题