Windows Phone 7中的導航框架是Silverlight中的內容的簡化版本。你只能導航到Uri,而不能通過視圖。由於NavigationService綁定到View,因此人們如何將它融入到MVVM中。例如:使用頁面導航的MVVM在Windows Phone 7上
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視圖。我無法首先創建視圖模型。有沒有辦法解決這個問題。