【发布时间】:2012-03-23 18:07:02
【问题描述】:
这是我的情况。我有一个几乎完全使用 MEF 组成的应用程序。使用 MEF 的 DeploymentCatalog 下载应用程序的所有 UI。只需通过从下载的 xap 中交换主应用程序中的内容区域即可执行导航。美好的。但我决定在浏览器上提供导航历史记录会很好。所以我想加入导航框架(Frame)。
问题来了,我似乎无法使用 Frame,因为它需要您传递 URI。因为我的程序集被下载并存储在 CompositionContainer 中,所以程序集引用的 URI 的正常格式不起作用(即 /{assembly} ;component/{XAML 路径} 不起作用)
仅在 .NET(不是 silverlight)中,您可以通过传递内容导航到 Frame 上的对象。这是我想在 silverlight 中做的,但方法没有出现。
有人对我如何在不使用 URI 的情况下支持导航有任何建议吗?并且无需重组整个应用程序(即我知道导航框架现在支持 NavigationContentLoader 但这将需要我重组我的应用程序并且不允许我轻松管理其他通过 MEF 组成的没有 UI 组件的类)
还有什么想法?
【问题讨论】:
标签: c# silverlight mef navigation-framework