Windows Phone 7 的导航框架是 Silverlight 的简化版本。您只能导航到 Uri,而无法传递视图。因为 NavigationService 与 View 相关联,所以人们如何将其融入 MVVM。例如:
public class ViewModel : IViewModel
{
private IUnityContainer container;
private IView view;
public ViewModel(IUnityContainer container, IView view)
{
this.container = container;
this.view = view;
}
public ICommand GoToNextPageCommand { get { ... } }
public IView { get { return this.view; } }
public void GoToNextPage()
{
// What do I put here.
}
}
public class View : PhoneApplicationPage, IView
{
...
public void SetModel(IViewModel model) { ... }
}
我正在使用Unity IOC容器。我必须首先解析我的视图模型,然后使用View属性获取视图并显示它。但是,使用NavigationService时,我必须传入一个视图Uri。没有办法先创建视图模型。有没有什么方法可以解决这个问题。