我正在开发由两个页面组成的应用程序。第一页是一个菜单,您可以在其中导航到第二页,这是某种类型的地图。这个应用程序假定在Windows Phone 7和Silverligth 4上运行,一切都建立在MVVM模式之上。对于S4,我使用Unity,对于WP7,我创建非常简单的IoC容器。
为了解决这个问题,我需要为这个应用程序提供一个通用的导航系统。我知道S4支持新的接口INavigationContentLoader,它允许我们使用自己的内容加载器。不幸的是,这不适用于WP7。我也在考虑利用Shell/Frame方法。基本上,我们有一个shell或一个框架控件,其中包含一个可替换的内容。本例中的导航是关于替换内容的。但我担心这个解决方案不适用于WP7,因为后退按钮将关闭应用程序,而不是返回到上一页。伙计们,你们还有别的主意吗?你有什么解决方案?我想强调的是,这个解决方案应该与MVVM保持一致。向Jarek致以最美好的问候
发布于 2011-04-27 18:33:54
对于这样一个小而简单的应用程序,我会创建自己的包装器来根据平台选择导航模式。
类似于:
void MyNavigate(uri page)
{
#IFDEF WINDOWS_PHONE
NavigationService.Navigate(page);
#ELSEIF
NavigateTo(page); // or whatever is appropriate to your Silverlight 4 app
#ENDIF
}https://stackoverflow.com/questions/5801893
复制相似问题