2010-05-18 62 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

相關問題