【问题标题】:How to display a UserControl with satisfying all imports如何显示满足所有导入的 UserControl
【发布时间】:2010-05-18 14:51:39
【问题描述】:

我在使用 Silverlight 4/MEF 时遇到了一些问题。我有一个以 Silverlight Navigation 应用为核心的基本框架设置。

Image link到图澄清

主应用程序 (Desu) 包含一些页面和控件,可以很好地导出和导入。我从 Desu.Controls 动态加载控件(例如我通过 IImageViewer 界面识别的图像查看器)和来自 Desu.Pages 的一些页面。

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

现在是问题部分: 我想从 Desu 的 HomePage 中的 Desu.Controls 加载 ImageViewerControl。不过,我还没有将 Desu.Controls 加载到包中。当我尝试加载控件时,它给了我 CompositionException,因为它不能满足 ImageViewControl 导入。我尝试设置 AllowRecomposition=true 但没有帮助。

那么是否可以在不满足所有导入的情况下加载控件,如果可以,如何做到这一点?

【问题讨论】:

    标签: c# silverlight-4.0 mef


    【解决方案1】:

    所以您希望导入最初不满意,但您希望稍后添加它?

    您在设置 AllowRecomposition=true 时处于正确的轨道上,但您还需要设置 AllowDefault=true。如果 ImageViewerControl 不可用,则该属性将为 null,并在可用时设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-04
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 2020-08-17
      • 1970-01-01
      相关资源
      最近更新 更多