使用Mvvm-light(oobe)+ MEF进行Silverlight导航?

时间:2010-04-30 01:35:26

标签: mvvm navigation mef region mvvm-light

在UserControls / Pages之间导航的最佳方法是什么(在浏览器体验之外)?我对Silverlight相当新,甚至更新于mvvm模式。

导航框架与MVVM Light Toolkit的集成程度如何?使用两者进行一般应用程序流量控制的代码段很棒。

计划是使用导航框架进行一般流程或使用Jeremy Likeness的区域管理方法(http://csharperimage.jeremylikness.com/search/label/regions)并根据需要交换区域。我见过一些提到替换Visual Root的地方,但这对我来说听起来像是黑客。

非常感谢任何建议,片段或大方向的推动。

谢谢。

3 个答案:

答案 0 :(得分:1)

您可能会发现以下帖子有用: SL4 Navigation Template with MVVM Light

答案 1 :(得分:0)

我正在努力做同样的事情,但是,我有点远离“NavigationService”,因为据称期刊将对象引用保存在内存中或我在某处读到的内容。

我一直在尝试在主窗口中使用一个框架,并使用mvvm灯将导航消息发送到窗口以更改框架。

编辑:我明白了。

在主窗口(代码隐藏,而不是viewmodel)中,我添加了 Messenger.Default.Register(Of NotificationMessage(Of NavMsg))...

然后在任何视图模型中我执行 Messenger.Default.Send(Notificationmessage(Of NavMsg))...

然后我创建了一个NavMsg类,它接受一个字符串uri或一个要导航到的对象。

这里有一些T4代码模板,可以为您的view / viewmodel生成代码以使用mvvmlight,它演示了上面的关闭窗口消息。 http://dl.activeaspsoftware.net/dl.aspx?f=MvvmLightCodeTemplates.zip

答案 2 :(得分:0)

我遇到了同样的问题,发现了这个链接(也适用于Silverlight):

Windows Phone 7 — Navigation between pages using MVVM Light Messaging