我有一个用Silverlight 4开发的导航应用程序。它的主页包含一个框架。我在该框架中加载了一个特定的视图,并且我知道可以使用NavigationService导航到将在同一框架中加载的其他页面。
但是我的问题是如何使用MVVM做到这一点?要获取框架,我需要传递页面参考吗?
而且,据我所知,一个视图不知道其他任何视图。那么,使他们彼此了解的最佳方法是什么?我听说过Controller和Mediator,但如何实现它们才能获得主页的框架?
[以前,当我尝试更改视图时,我让VM启动了Navigate事件。然后,带有框架的主视图完成了调用导航服务以导航到适当页面的工作。不过,我记得它并不完美。
[导航很有可能不适用于MVVM。
[Nikhil的这篇文章似乎很适合您的问题http://www.nikhilk.net/Entry.aspx?id=232。
它讨论在处理Silverlight导航时使用MVC模式。 Nikhil还谈到了他创建的协助Silverlight开发的框架。