在UserControls / Pages之间导航的最佳方法是什么(在浏览器体验之外)?我对Silverlight相当新,甚至更新于mvvm模式。
导航框架与MVVM Light Toolkit的集成程度如何?使用两者进行一般应用程序流量控制的代码段很棒。
计划是使用导航框架进行一般流程或使用Jeremy Likeness的区域管理方法(http://csharperimage.jeremylikness.com/search/label/regions)并根据需要交换区域。我见过一些提到替换Visual Root的地方,但这对我来说听起来像是黑客。
非常感谢任何建议,片段或大方向的推动。
谢谢。
答案 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